對此有點麻煩。舉一個簡單的例子,假設我想查找灰度圖像的亮度值,並將它們寫入一個新的陣列,但是說改變一定的亮度。我將如何去做這個與opencv?我一直沿着這行一些嘗試和做法:將像素值寫入空白矩陣
int main(int argc, char** argv){
Mat img = imread(argv[1], CV_LOAD_IMAGE_UNCHANGED), img_grey, dst;
if (img.empty())
{
return -1;
}
cvtColor(img, img_grey, CV_BGR2GRAY);
dst = Mat::zeros(img_grey.size(), img_grey.type());
for
(int x = 1; x < dst.rows - 1; x++)
{
for (int y = 1; y < dst.cols - 1; y++)
{
dst.at<uchar>(y, x) = x;
}
}
namedWindow("New", CV_WINDOW_AUTOSIZE);
namedWindow("Original", CV_WINDOW_AUTOSIZE);
imshow("New", dst);
imshow("Original", img);
waitKey(0);
return 0;
}
似乎很好,當我蓋了,但我得到這個錯誤:Microsoft C++異常:在0x000007FEFD00940D在將Test.exe 第一次機會異常CV ::異常的內存位置0x00000000001BF4C0。 如果有這種異常的處理程序,程序可能會安全地繼續。 – 2014-10-28 11:37:38