VC++でOpenCVを使って画像処理を研究中です。
OpenCVでの画像の表示は、
char *filename = "lena.jpg";
image = cvLoadImage(filename, CV_LOAD_IMAGE_COLOR);
cvNamedWindow ("lena", CV_WINDOW_AUTOSIZE);
cvShowImage ("lena",image);
で出来るということは分かりました。
しかし、MFCで作ったフォームのピクチャーボックスへの表示の仕方が分かりません。
画像処理は実行ボタンでpictureBox1の元の画像をpictureBox2に表示させようと考えております。
回答のほど、どうぞよろしくお願いいたします。
また、分かりやすいサイトなどありましたらお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
MFCのピクチャーボックスはStaticコントロールですので Bitmap(またはCBitmap)なら表示可能です
そのダイアログクラスに CBitmap型の変数を準備します
img = cvLoadImage( filename, 1 );
// ビットマップ用のカラーバッファ
char* ColorBuf = (char*)calloc( sizeof(char), img->widhth * img->Height * 4 );
for( int y = 0; y < img->height; y++ ) {
for( int x = 0; x < img->width; x++ ) {
// Blue
ColorBuf[ y * img->width + x * 4 + 0 ] =
img->imageData[ y * img->widthStep + x * 3 + 0 ];
// Green
ColorBuf[ y * img->width + x * 4 + 1 ] =
img->imageData[ y * img->widthStep + x * 3 + 1 ];
// Red
ColorBuf[ y * img->width + x * 4 + 2 ] =
img->imageData[ y * img->widthStep + x * 3 + 2 ];
}
}
m_bmp.CreateBitmap( img->width, img->height, 1, 32, ColorBuf );
free( ColorBuf );
((CStatic*)GetDlgItem( IDC_IMGSRC ))->SetBitmap ( m_bmp );
cvReleaseImage( &img );
といった具合でしょう
ダイアログに貼り付けたピクチャーコントロールはプロパティの設定でBitmapにしておきましょう
またリソースIDも『IDC_STATIC』以外のものに変更することをお忘れなく
上記の例では IDC_IMGSRC だと仮定しています
この回答への補足
早速の回答ありがとうございます。
処理後の画像を表示するころができました。
しかし、バグったように表示されてしまいます。
ピクチャーボックスの上の方に、画像が4つ並んで表示されています。
何か改善すべきところはあるでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Windows 8 Route Generator の使い方 1 2023/05/03 00:36
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで変更した属性の元...
-
複数画像のランダム複数表示(...
-
MFCで画像を表示させているので...
-
error LNK2019 未解決のシンボ...
-
imgボタンにfocusの当て方
-
jQueryで、画像クリック→フェー...
-
OpenCV での画素値の比較について
-
jQuery 複数のfind()
-
セクトボックスの連携の仕方。
-
以下のタグはクリックすると画...
-
画像処理 C言語 元画像の幅...
-
Javaの正規表現でimgタグのalt...
-
画像が表示でnull; this.src
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
jqueryのsortableで一部ソート...
-
removeEventListenerについて
-
Slick.jsのオプションrtlについて
-
どの<li><a> が押されたか判別...
-
クリックで色変更後に既に変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptで変更した属性の元...
-
MFCで画像を表示させているので...
-
画像が表示でnull; this.src
-
error LNK2019 未解決のシンボ...
-
Vb.net2005での画像の合成方法
-
onclickで画面が固まる・・・ら...
-
リンク先を動的に変更する
-
(javascript)HTMLで指定した...
-
【OpenCV】二値画像後、白の部...
-
jQuery 複数のfind()
-
ラズパイでno module named zbar
-
外部javascriptの重複を防ぐには
-
条件分岐でキーが入力されてい...
-
かぶらないランダム画像
-
HTMLからimgのsrcのみを正規表...
-
pythonで、tkinterとpillowの組...
-
OpenCV での画素値の比較について
-
imgボタンにfocusの当て方
-
指定したフォルダの画像を一括...
-
OpenCVでサンプルコードを使う...
おすすめ情報