FC2カウンター FPGAの部屋 2022年01月21日
fc2ブログ

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

FPGAの部屋

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

画像ファイルをC のヘッダファイルに変換したファイルを Vitis HLS 2021.2 で検証してみた

Vitis HLS 2021.2 を使用して画像ファイルを C のヘッダファイルに変換する”で JPG ファイルを C 言語のヘッダに変換することができたが、本当に画像に戻るのかを今回検証する。このブログは、”BMPファイルをC のヘッダファイルに変換したファイルを検証してみた”を参照している。

Vitis HLS 2021.2 を使用して、pict_header2image プロジェクトを作成した。このプロジェクトは xc7z020clg400-1 の FPGA を使用したプロジェクトとした。

pict_header2image プロジェクトに”Vitis HLS 2021.2 を使用して画像ファイルを C のヘッダファイルに変換する”で作成した pict_data.h をコピー&ペーストした。
Vitis_Vision2_76_220121.png

pict_header2image プロジェクトを示す。
Vitis_Vision2_77_220121.png

ダミーのソースコード、 dummy.cpp を貼っておく。

int dummy(){
    return 0;
}


テストベンチの pict_header2image.cpp を貼っておく。

// pict_header2image.cpp
// 2022/01/21 by marsee
//

#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgcodecs/imgcodecs.hpp"

#include "pict_data.h"

char OUTPUT_PICT_FILE[] = "test2.jpg";

int main(){
    cv::Mat img(Y_SIZE, X_SIZE, CV_8UC3);
    cv::Mat_<cv::Vec3b> dst_vec3b = cv::Mat_<cv::Vec3b>(img);
    for (int y=0; y<Y_SIZE; y++){
        for (int x=0; x<X_SIZE; x++){
            cv::Vec3b pixel;
            pixel[0] = pict_file_array[y][x][0]; // blue
            pixel[1] = pict_file_array[y][x][1]; // green
            pixel[2] = pict_file_array[y][x][2]; // red
            dst_vec3b(y,x) = pixel;
        }
    }

    cv::imwrite(OUTPUT_PICT_FILE, img);

    return(0);
}


Vitis HLS 2021.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (pict_header2image) ダイアログが開く。
左のウインドウで Simulation をクリックする。
pict_header2image.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)
pict_header2image.cpp の CFLAGS に

-I/usr/local/include

を設定した。

Linker Flags に

-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

を設定した。
Vitis_Vision2_78_220121.png

C シミュレーションを実行した。
test2.jpg が生成された。
Vitis_Vision2_79_220121.png

test2.jpg を示す。
画像ファイルに変換された。
Vitis_Vision2_80_220121.jpg
  1. 2022年01月21日 04:07 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0