作者tocute (小飘)
站内Programming
标题Re: [问题] 关於OpenCV
时间Fri Mar 14 22:34:55 2008
: void GraylevelImage(IplImage* Image)
: {
: int i,j,r,g,b,h,w,gray;
: h=Image->height;
: w=Image->width;
: for(i=0;i<h;i++)
: {
: for(j=0;j<w;j++)
: {
: r=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+2];
: g=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+1];
: b=((uchar*)(Image->imageData + Image->widthStep * i))[j*3+0];
我都是这样写的
r=((uchar)(Image->imageData [Image->widthStep * i+j*3+2];
g=((uchar)(Image->imageData [Image->widthStep * i+j*3+1];
b=((uchar)(Image->imageData [Image->widthStep * i+j*3+0];
Image->widthStep 是指跳到下一行的距离
彩图的话 通常是 width*3
: gray=(r*76+g*150+b*29)>>8;
: ((uchar*)(Image->imageData + Image->widthStep * i))[j*3+2]=gray;
: ((uchar*)(Image->imageData + Image->widthStep * i))[j*3+1]=gray;
: ((uchar*)(Image->imageData + Image->widthStep * i))[j*3+0]=gray;
: }
: }
: return;
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.231.156
1F:推 freestylelin:多谢!!可是为什麽我编译不过 220.139.74.227 03/15 11:00
2F:→ tocute:错误讯息事 ??140.112.231.156 03/15 20:40