問題タブ [iplimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
7635 参照

c++ - OpenCV IplImage を SDL_Surface に変換するには?

SDL_Surfaceを取り、それを に変換しIplImage、cvBlobsLib を使用してブロブを見つけ、ブロブを画像上のスポットとしてペイントし、出力IplImageを に戻すプログラムを作成しようとしていSDL_Surfaceます。

私はほぼ完了しています: IplImageback を anに変換することだけSDL_Surfaceがまだ行われていません。この IplImage には 3 つの画像チャネルがあり、ピクセルあたり 8 ビットです。使用できる呼び出しが 2 つあると思います。

私は現在試していSDL_CreateRGBsurfaceFromます。しかし、ピッチ、Rmask、Gmask、および Bmask の正しい値が何であるかはわかりません。(アルファ チャネルがないため、Amask は 0 です。)

これを行う方法を説明して、誰かが私を助けてくれますか?

ありがとう!

編集:たとえば、これは私が使用しようとしたコードです:

(SDL ドキュメンテーションには、「ピッチは、サーフェスのスキャンラインのサイズ (バイト単位)、つまり widthInPixels*bytesPerPixel です。」と書かれています)。これは、「深さ 8、nChannels 3、ピッチ 1920」を出力し、完全に赤い画像を表示します。8 ビット イメージを 24 ビット (チャネルあたり 1 バイト) に変換することで解決できると思いますが、その方法がわかりません。何か案は?

0 投票する
6 に答える
44670 参照

opencv - 8 ビットの OpenCV IplImage* を 32 ビットの IplImage* に変換する方法は?

8 ビットの IplImage を 32 ビットの IplImage に変換する必要があります。ウェブ全体のドキュメントを使用して、次のことを試しました。

ご覧のとおり、私は自分が何をしているのかよくわかりません。知りたいのですが、これを正しく行うことができれば、もっとうれしいです。助けてくれてありがとう!

0 投票する
1 に答える
2840 参照

image-processing - DirectX と OpenCV

だから私は、WebカメラからpBufferと呼ばれるベクトルに画像をキャプチャするプログラムをすでに書いています。単純に、各ピクセルの RGB ピクセル情報に簡単にアクセスできます。

pBuffer[i]=R;pBuffer[i+1]=G;Buffer[i+2]=B.

ここでは問題ありません。

次のステップは、IplImage* img を作成し、それに pBuffer の情報を入力することです。ある種の SetPixel です。

Web には SetPixel Function があります。つまり、次のとおりです。

ここで、値は pBuffer 情報、x と y はピクセル座標です。ただし、これを機能させることはできません。何か案は??私はC++で作業しています。

0 投票する
2 に答える
7739 参照

c++ - RGB IplImage を 3 つの配列に変換

C++/ポインターのヘルプが必要です。RGB IplImage を作成し、i,j にアクセスしたい場合、http ://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv- から取得した次の C++ クラスを使用します。 intro.html

私は CUDA を扱ってきたので、すべてのデータを配列に入れる必要がある場合があります。すべてのチャネルを独自の配列に保持するのが好きで、その方法でデータを処理する方が簡単なようです。だから私は通常、次のようなことをします:

次に、データをデバイスにコピーし、それを使用して何らかの処理を行い、ホストに戻してから、配列を介してデータを IplImage に割り当て、結果を保存します。

ポインターを使用してこれを行うには、より高速な方法が必要ですが、私は迷っています。より効率的な方法が必要です。すべてのチャンネルにポインタを簡単に使用できる方法はありますか? 私はこのようなことを試みましたが、うまくいきませんでした:

助言がありますか?ありがとう!

編集:答えてくれてありがとう。私の質問がよくわからなかったのかもしれません。チャネルとそのデータへのアクセス方法に精通しています。私が興味を持っているのは、データを IplImage から標準配列に完全にコピーするパフォーマンスと効率を向上させることです。これは、csl がこれまでに述べたことに沿ったものです。私が見る問題は、IplImage 内のデータの配置方法が "rgbrgbrgbrgb" であることです。

0 投票する
2 に答える
11626 参照

python - Python / OpenCV:キャプチャから取得した画像の変換

キャプチャ(ウェブカメラ)から取得した画像を変換し、OpenCVで処理しようとしていますが、苦労しています。

画像をグレースケールに変換しようとすると、プログラムがクラッシュします。(Python.exeは動作を停止しました)

これが私のコードのメインスニペットです:

cvConvertScaleを使用しようとすると、アサーションエラーが発生します。

これは理にかなっていますが、Webカメラの入力画像をcvUpdateMotionHistory()やcvCalcOpticalFlowLK()などの関数で使用できる画像に変換する方法についてはかなり混乱しています。

何か案は?ありがとう。

アップデート:

これを使用して、画像を手動でグレースケールに変換しました。

しかし、これにはかなりの時間がかかります。それでも、cvCvtColorがプログラムのクラッシュを引き起こしている理由を理解できません。

0 投票する
1 に答える
919 参照

c++ - 関数パラメーターとしての OpenCV の IplImage* エラー

OpenCV ライブラリを使用しており、別の関数で画像を複製したいのですが、関数にアドレスを送信できません

IplImage* image = cvLoadImage( path, CV_LOAD_IMAGE_GRAYSCALE ); // loading is ok
showFoundPoints(image); // -> here it shows errors
...

//my function
int showFoundPoints(IplImage*image)
{...}

そして、私はこのビルドエラーを受け取りました:
エラー: std::string' からの変換がIplImage*' to non-scalar type要求されました

なぜ変換があるのか​​わかりません。とてもシンプルに見えますが、これで何をすべきか本当にわかりません。
手伝ってくれてありがとう。

0 投票する
4 に答える
52765 参照

opencv - OpenCV 2.0でIplImage変数タイプのMat変数タイプを変換するにはどうすればよいですか?

OpenCVで画像を回転させようとしています。

StackOverflowで見つけた次のコードを使用しました。

変数の型がいっぱいになったら、それを変数の型dst Matに戻したいのIplImageですが、これを行う方法について何かアイデアはありますか?

0 投票する
1 に答える
1043 参照

image-processing - http post で受け取った png 画像を OpenCV IplImage 形式にロードする方法

画像を受信して​​処理を行い、結果を返信する Web サーバーを作成しています。

画像はpng形式です。PHP を使用して POST 経由で byte[] として受信します。この byte[] を OpenCV IplImage 形式に変換する必要があります。これを行うには、どのような手順に従う必要がありますか?

私が現在行っている方法は、画像を読み取ってハードドライブに保存し、OpenCV cvLoadImage() 関数へのファイルパスを解析することです。上記の段落で説明した方法を行うことは、これよりもはるかに効率的だと思います。

または、自分で IplImage 形式に変換しようとせずに、byte[] を OpenCV 関数に直接解析する方法はありますか?

ありがとうございました..

0 投票する
3 に答える
5088 参照

iphone - Iphone IplImageをUIImageに変換して元に戻すと回転が発生する

iplimage と uiimage の間で変換するコードを使用しています。カメラ (UIImage) から撮影した写真を撮り、それを iplimage に変換して、以下に投稿されたコードを使用して元に戻します。残念ながら、これにより画像が 90 度回転および引き伸ばされます。したがって、320x480 の画像を取得すると、320x480 の画像が返されますが、画像は回転および再スケーリングされているため、90 度回転したように見えます (つまり、480x320 の画像)。 out -- すべてが正しいようです (バイト順など)

0 投票する
4 に答える
785 参照

c++ - C++でFlashとして保存

IPLImageOpenCVをFlashファイルとして保存するにはどうすればよいですか?多分それをする図書館がありますか?