0
イメージの各ピクセルを変更したい。しかし、結果は私が期待したようなものではありません。OpenCVイメージピクセルを変更する
オリジナル画像:
結果:各ピクセルを変更するForループ
:
image = imread("image.png", CV_LOAD_IMAGE_COLOR)
unsigned char value;
for (int col = 0; col < image.cols; col++){
for (int row = 0; row < image.rows; row++){
value = image.at<unsigned char>(row,col);
value *= 0;
image.at<unsigned char>(row, col) = value;
}
}
だから私は間違い知りません私はあなたに尋ねたいあなたは答えを知っています。
同じ操作がすべてのピクセルで行われるため、私は行列式を好むでしょう - より高速で簡潔です。 | OPに0を掛けることを考えると、単純な 'setTo'やスカラーの割り当てだけでも可能です。 –
@DanMašekはい、この操作を実行するには他にも多くの方法があります(例:行列乗算、ビット単位演算、parallel_forなど)。しかし、OPはCVの初心者のようで、各ピクセルへのアクセスに興味があるので、私はそれに応じて回答しました。 – zindarod