在opencv里用Mat直接改写函数void LogEnhance(IplImage* img, IplImage* dst)

可不可以直接把voidLogEnhance(IplImage*img,IplImage*dst)括号内的类型定义改为Mat类型?总之,不想用IPL麻烦死了,求助大神们vo... 可不可以直接把void LogEnhance(IplImage* img, IplImage* dst) 括号内的类型定义改为Mat类型?总之,不想用IPL麻烦死了,求助大神们
void LogEnhance(IplImage* img, IplImage* dst)
{
// 由于oldPixel:[1,256],则可以先保存一个查找表
uchar lut[256] ={0};

double temp = 255/log(256);

for ( int i =0; i<255; i++)
{
lut[i] = (uchar)(temp* log(i+1)+0.5);
}

for( int row =0; row <img->height; row++)
{
uchar *data = (uchar*)img->imageData+ row* img->widthStep;
uchar *dstData = (uchar*)dst->imageData+ row* dst->widthStep;

for ( int col = 0; col<img->width; col++)
{
for( int k=0; k<img->nChannels; k++)
{
uchar t1 = data[col*img->nChannels+k];
dstData[col*img->nChannels+k] = lut[t1];
}
}
}
}
展开
 我来答
阳差鞋h
2017-08-27 · TA获得超过1394个赞
知道大有可为答主
回答量:1982
采纳率:100%
帮助的人:892万
展开全部
CvImage( IplImage* img )可以将IplImage转换为CvImage。 CvImage类中 protected: IplImage* image; // 实际影象 int* refcount; // 引用计数 IplImage* image由于是protected. 可以在OpenCVcxcoresrccximage.cpp里添加一个方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式