FC2カウンター FPGAの部屋 2023年08月29日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

AXI4-Stream Data Width Converter のバイト・レーン変換を確認する2

AXI4-Stream Data Width Converter のバイト・レーン変換を確認する1”の続き。

Pythonの画像処理ライブラリPillow(PIL)の Image.open でオープンした画像ファイルのフォーマットを確認するということで、前回は、blue.png、 green.png、 red.png の画像ファイルを作成した。今回は、PNG の画像ファイルを ZUBoard 1CG の PYNQ Linux にアップロードし、Jupter Notebook を書き換えて実行したところ、PNG の画像ファイルは 4 チャネルでエラーが出てしまった。

blue.png、 green.png、 red.png の画像ファイルを ZUBoard 1CG の PYNQ Linux にアップロードした。
zub1cg_pynq_208_230827.png

blue.png、 green.png、 red.png の画像ファイルを ~/jupyter_notebooks/examples/i3filters ディレクトリにコピーした。
cd
sudo mv blue.png ~/jupyter_notebooks/examples/i3filters
sudo mv green.png ~/jupyter_notebooks/examples/i3filters
sudo mv red.png ~/jupyter_notebooks/examples/i3filters


~/jupyter_notebooks/examples/i3filters ディレクトリに blue.png、 green.png、 red.png の画像ファイルがコピーされた。
zub1cg_pynq_209_230827.png

blue.png を Image.open() でオープンするように i3filters.ipynb を書き換えた。

#image_path = "./test2.jpg"
image_path = "./blue.png"
#image_path = "./green.png"
#image_path = "./red.png"
original_image = Image.open(image_path)


ガウシアン・フィルタ、メディアン・フィルタ、ソーベル・フィルタはすべてフィルタなしでスルーするように設定した。

gaussian.register_map.row_size = height
gaussian.register_map.col_size = width
gaussian.register_map.function_r = 2 # ORG_IMGwAxiDma
#gaussian.register_map.function_r = 3 # GAUSSIANwAxiDma


median.register_map.row_size = height
median.register_map.col_size = width
median.register_map.function_r = 2 # ORG_IMGwAxiDma
#median.register_map.function_r = 3 # MEDIANwAxiDma


sobel.register_map.row_size = height
sobel.register_map.col_size = width
sobel.register_map.function_r = 2 # ORG_IMGwAxiDma
#sobel.register_map.function_r = 3 # SOBELwAxiDma


これで、i3filters.ipynb を実行していったところ、DMA 用の共有物理メモリに読み込む行でエラーが発生した。
どうやら作成した png には、アルファ・チャネルがあって、RGB と alpha があるようだ。
そこでエラーが出ている。
zub1cg_pynq_210_230827.png
  1. 2023年08月29日 04:17 |
  2. IP
  3. | トラックバック:0
  4. | コメント:0