opencv给图像像素赋值问题 opencvc++ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用预处理,直接加载jpg格式的图像就可以,因为你是使用cvLoadImage("wiener.bmp",0);第二个参数决定了图像是以灰度图像的格式加载进来的。看代码逻辑没有问题,楼主可以debug跟踪一下是在cvLoadImage返回的是不是NULL,或者在save的时候是不是出错了。楼主这种处理像素代码影响效率的IplImage*src=NULL;src=cvLoadImage("wiener.bmp",0);if(src==NULL){ return -1;}LPBYTE pData = (LPBYTE)src->imageData; for(int i=0;i<src->height;i++) { pData = (LPBYTE)src->imageData+src->widthStep; for(int j=0;j<src->width;j++) { if( pData[j]==30 ) { pData[j] = 0; } else { pData[j] = 255; } } }cvSaveImage("gray_30.bmp",src); 我想问一下你的for循环里面的pData = (LPBYTE)src->imageData+src->widthStep;有什么作用? 不好意思,写错了应该是pData = (LPBYTE)src->imageData+src->widthStep*i;指向第i行像素的起始位置,这样在下一个for循环中直接使用pData[j]就可以 一副图像中的像素值为30的点 ?你这个是彩色图像啊,三个通道呢,怎么算的cvtcolor转换成灰度图才行吧 崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。 VC中窗口的层次(前后)问题 tab标签控件中如何调用另一个对话框? CTab 控件的问题 回复就给分 怎么设置IE浏览器在点击一个链接后弹出的网页是最大化 哪里有MSDN下载,怎么安装? 问个和这个论坛有关的问题---smi 关于变量传递 请问:如何得到unsigned char 的长度? DB2链接不上 如何得到当前的用户名? 散分啦,请教高手软件项目文件目录结构的优点和缺点(内详) 关于IOCP的WSASend 同时发送2个包,第2个包客户端收不到
楼主这种处理像素代码影响效率的
IplImage*src=NULL;
src=cvLoadImage("wiener.bmp",0);
if(src==NULL)
{
return -1;
}
LPBYTE pData = (LPBYTE)src->imageData; for(int i=0;i<src->height;i++)
{
pData = (LPBYTE)src->imageData+src->widthStep;
for(int j=0;j<src->width;j++)
{
if( pData[j]==30 )
{
pData[j] = 0;
}
else
{
pData[j] = 255;
}
}
}
cvSaveImage("gray_30.bmp",src);
指向第i行像素的起始位置,这样在下一个for循环中直接使用pData[j]就可以
你这个是彩色图像啊,三个通道呢,怎么算的
cvtcolor转换成灰度图才行吧