所以我必須對圖像的一部分進行一些操作。操作是不相關的(我根本不改變這個代碼),但是我創建指針的方式改變了我得到的結果。我不明白爲什麼會發生。OpenCV圖像指針未按預期工作
爲什麼這段代碼獲得的結果我想:
for(int row = 0; row < 70; ++row) {
for(int col = 48; col < 208; ++col) {
uchar* p = c.ptr(row+col);
*p = (1-circuloBinario.at<unsigned char>(row,col-48))*(*p) + circuloBinario.at<unsigned char>(row,col-48)*limite;
}
}
而這一次犯規?
for(int row = 0; row < 70; ++row) {
uchar* p = c.ptr(row+48);
for(int col = 48; col < 208; ++col) {
*p = (1-circuloBinario.at<unsigned char>(row,col-48))*(*p) + circuloBinario.at<unsigned char>(row,col-48)*limite;
p++;
}
}
順便說一句,我沒有得到任何錯誤與第二碼,問題是,結果我得到的是我希望不是什麼(它開始從行比0大修改圖像,並從列開始0而不是48)。
謝謝。
我明白了。是的,第一個人爲什麼工作,而第二個人沒有工作,這很讓人困惑,但是如果他們兩個都不工作,這會更有意義。我會改變我的代碼,謝謝。 – user2356736 2013-05-07 13:46:57