【发布时间】:2014-03-21 00:02:10
【问题描述】:
我正在尝试读取图像并使用此代码将读取图像的一些值分配给另一个新图像:
cv::Mat source = cv::imread("001.jpg");
cv::cvtColor( source , source , CV_BGR2GRAY );
cv::Mat result = cv::Mat( source.rows, source.cols, source.type() );
int dx = 0;
int dy = 0;
int len = 30;
for( int i = 0; i < source.cols - len; i ++ )
{
dx = i + len;
for( int j = 0; j < source.rows; j++ )
{
dy = j + 0.5 * dx;
if( 0 <= dx && dx < source.cols && 0 <= dy && dy < source.rows )
{
result.at<uchar>(i,j) = source.at<uchar>(dx,dy);
}
}
}
但代码运行后停止,没有给出任何错误信息。我尝试调试它并怀疑result.at<uchar>(i,j) = source.at<uchar>(dx,dy) 行导致了问题。谁可以给我解释一下这个?
【问题讨论】:
标签: c++ image opencv image-processing matrix