![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
お世話になっております。
OpenCVのエラーが解決せず困っています。
グレースケール画像170×170を
11×11枠のウィンドウで画像処理をして行きたいのですが
変数 x の2回目のループでエラーが発生してしまいます。
「型 'System.Runtime.InteropServices.SEHException' のハンドルされていない例外が
sample.exe で発生しました
追加情報: 外部コンポーネントが例外をスローしました。」
ROIの入れ物 dst_img をリセットしてみたり
あれこれやってみたのですがどうもうまくいきません。
2回目でコケるというのも情けなく。
どこを修正すればいいか、ぜひアドバイスいただけたら助かります。
よろしくお願い致します。
dst_img = cvCreateImage(cvSize(11,11), IPL_DEPTH_8U, 1);
int x, y, i;
i = 1;
for (y = 0; y < src_img_gray-> height; y = y +11*(i-1)+1) // y 座標を 11ピクセルずつ進める
{
for (x = 0; x < src_img_gray->width; x = x + 11*(i-1)+1) // x 座標を 11ピクセルずつ進める
{
dst_img = cvCreateImage(cvSize(12, 12), IPL_DEPTH_8U, 1);
cvSetImageROI(dst_img, cvRect(y, x, 11, 11));
//出力先指定
↓xの2ループ目で、ここでエラーが発生します。
out_img = cvCloneImage(dst_img);
cvReleaseImage(&dst_img);
i = i + 1;
}
}
cvDestroyWindow("ROI");
No.2ベストアンサー
- 回答日時:
そうではありません。
x=x+23
ということは、現在のxに+23したものが、次のxになります。
iの変化が、i=i+1だけだとすると
ループ開始
x=0
終了直前
i=i+1 /* i=1+1=2 になる */
forの式3の評価
x=x+11*(i-1)+1
/* x= 0 + 11*(2-1)+1 =0+12=12になる */
次のループ開始
x=12
終了直前
i=i+1 /* i=2+1=3 になる */
forの式3の評価
x=x+11*(i-1)+1
/* x= 12 + 11*(3-1)+1 =12+23=35になる */
...
となっています。
よく見たら、いろいろと間違ってますね。
cvSetImageROI(dst_img, cvRect(y, x, 11, 11));
は、 dst_img の 横y,縦xの位置から11x11のROIを設定して、以降、cvClomeImage(dst_img)等としたときに、dst_imgが、そのROIで指定した範囲だけの画像のように扱われる、というものです。
2回目では、x=12なので「 dst_img = cvCreateImage(cvSize(12, 12), IPL_DEPTH_8U, 1); で確保した 12x12(横0~11,縦0~11)の画像dst_img」の 座標(0,12)から11x11画素を抜き出した画像、という意味になるので、エラーになるのも当り前です。
コメントありがとうございます。
そもそも、ROIで元画像のサイズそのものを指定するべきだったのですね。
細かく見てすぐにアドバイスくださって、いつも本当にありがとうございます。
今回も大変助かりました。
またぜひよろしくお願い致します。
No.1
- 回答日時:
これが原因かはわかりませんが
http://opencv.jp/opencv-2.1/c/basic_structures.h …
説明になんと書いてありますか?
> x = x + 11*(i-1)+1) // x 座標を 11ピクセルずつ進
そうなってますか?
x,yの値を追ってみましょう
例えば
i=3 だと
x = x+11*2+1
で, +23
されてますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP PHP echo バックスラッシュの使い方 img要素 2 2023/01/08 22:46
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
C++/CLIからC++の呼び出しで例外
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部javascriptの重複を防ぐには
-
Vb.net2005での画像の合成方法
-
外部ファイルにしたら文字化け...
-
JavaScriptで変更した属性の元...
-
リンク先を動的に変更する
-
javascriptでのパスについて
-
jqueryのimgpreviewというプラ...
-
画像ファイルをアップロードす...
-
"lightbox"の"CLOSE"ボタンクリ...
-
jqueryのスライドショー。html...
-
MAX関数を使ってからLEFT JOIN...
-
jQueryでタブ、スライダーを使...
-
jspでcssが読み込めない
-
多階層ドロップダウンのスマホ...
-
離れた場所にマウスオーバーで...
-
css固定したフッターが本文と重...
-
c++std::string型をTCHARに変換...
-
1枚の画像をクリックすると複数...
-
チェックボックスに入っている...
-
WEBページ立ち上げ時に1回のみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MFCで画像を表示させているので...
-
JavaScriptで変更した属性の元...
-
HTMLからimgのsrcのみを正規表...
-
リンク先を動的に変更する
-
外部javascriptの重複を防ぐには
-
外部ファイルにしたら文字化け...
-
OpenCVで固定枠で画像を操作す...
-
画像が表示でnull; this.src
-
複数画像のランダム複数表示(...
-
指定したフォルダの画像を一括...
-
ラズパイでno module named zbar
-
pythonのpygameでキャラクター...
-
条件分岐でキーが入力されてい...
-
libjpegライブラリの使い方につ...
-
"lightbox"の"CLOSE"ボタンクリ...
-
error LNK2019 未解決のシンボ...
-
imageクラスからiconクラスに変...
-
複数の画像をフェードイン・ア...
-
Iplimageについて
-
html内にスライドショーを複数設置
おすすめ情報