次のコードは画像をロードし、一定の値で塗りつぶしてもう一度保存すると想定されています。 もちろん、目的はまだありませんが、それでも機能しません。 ループ内のピクセル値を読み取ることはできますが、すべての変更が無効で、ロードされたときにファイルが保存されます。 は、私は正確にここでは、「効率的な方法を」続い考える:予想通りcvtColorようhttp://docs.opencv.org/2.4/doc/tutorials/core/how_to_scan_images/how_to_scan_images.htmlcv :: MATのピクセルを操作するだけで効果がありません
int main()
{
Mat im = imread("C:\\folder\\input.jpg");
int channels = im.channels();
int pixels = im.cols * channels;
if (!im.isContinuous())
{ return 0; } // Just to show that I've thought of that. It never exits here.
uchar* f = im.ptr<uchar>(0);
for (int i = 0; i < pixels; i++)
{
f[i] = (uchar)100;
}
imwrite("C:\\folder\\output.jpg", im);
return 0;
}
ノーマルCV関数は()効果を取っています。 配列の変更はバッファ上で何らかの形で起こっていますか?
大変ありがとうございます!
Hmpfは、私を信じまたはない、私はまさにそれで自分の質問に答えるためにちょうど約ました。.. Damnit、まだちょうど支払われていないたため、mutliple時間を費やしています適切な時に注意... ありがとう! – DragonGamer
心配はいりません!それは誰にも起こります。私はまた、3行目を見るまで、すべてのコードが正しいと思っているあなたのコードをいつか見ていました。 – masad