質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

906閲覧

動的オブジェクトのメモリ領域に BGR画像を入れたい

trafalbad

総合スコア303

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/10/15 02:38

編集2020/10/15 03:25

c++ 初心者です。
動的オブジェクトで生成したメモリ領域に BGRの順で BGR画像を入れたいのですが、

質問1.forEach 文を使った場合、下のコードのどこを変更すればいいでしょうか?

質問2.メモリ領域に画像を格納する場合、配列のような形でなく、メモリアドレスの0, 1, 2, 3, 4,〜 ,nと整数の順番ごとに入れてく方法でいいんでしょうか?

下のforEach は BGRからRGBに変換したあと、RGBの順でRGB画像を入れています。

c++

1 2void preprocessing(Mat &img) 3{ 4 cvtColor(img, img, COLOR_BGR2RGB); 5 resize(img, img, Size(VALID_WIDTH, VALID_HEIGHT)); 6} 7 8 9 10int8_t normalize_and_quantize(int pixel, int i, int j, int k, float scale) 11{ 12 int8_t q_pixel; 13 14 if ((i < VALID_HEIGHT) && (j < VALID_WIDTH)) 15 q_pixel = pixel / 255.0 * scale; 16 else 17 q_pixel = 0; 18 return q_pixel; 19} 20 21void setInputImage(DPUTask *task, const char *inNode, const cv::Mat &image) 22{ 23 DPUTensor *in = dpuGetInputTensor(task, inNode); 24 float scale = dpuGetTensorScale(in); 25 int w = dpuGetTensorWidth(in); 26 int h = dpuGetTensorHeight(in); 27 int c = 3; 28 int8_t *data = dpuGetTensorAddress(in); 29 image.forEach<Vec3b>([&](Vec3b &p, const int pos[2]) -> void { 30 int start = pos[0] * w * c + pos[1] * c; 31 for (int k = 0; k < 3; k++) 32 data[start + k] = normalize_and_quantize(p[0], pos[0], pos[1], k, scale); 33 }); 34}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

BGR b, g, r 順
RGB r, g, b順

投稿2020/10/15 03:39

trafalbad

総合スコア303

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問