Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv IPP滤波器功能_Opencv_Intel Ipp - Fatal编程技术网

Opencv IPP滤波器功能

Opencv IPP滤波器功能,opencv,intel-ipp,Opencv,Intel Ipp,我是IPP新手。我的问题是,我在Intel IPP中编写了一段用于过滤图像的代码,但我的代码工作不正常。我每次都使用相同的图像作为输入。这是我的密码。怎么了 Mat img = imread("image.jpg", IMREAD_GRAYSCALE); Mat outImg = img.clone(); int step = img.cols; //pitch IppiSize size; size.width = img.cols; // size of IPP images is th

我是IPP新手。我的问题是,我在Intel IPP中编写了一段用于过滤图像的代码,但我的代码工作不正常。我每次都使用相同的图像作为输入。这是我的密码。怎么了

Mat img = imread("image.jpg", IMREAD_GRAYSCALE);
Mat outImg = img.clone();

int step = img.cols; //pitch

IppiSize size;
size.width = img.cols; // size of IPP images is the same
size.height = img.rows; // as read image img

vector<Ipp8u> aBuffer(1);

ippiFilterSharpenBorder_8u_C1R((const Ipp8u*)&img.data[0], step, (Ipp8u*)&outImg.data[0], step, size, ippMskSize5x5, ippBorderConst, 0, aBuffer.data());

imshow("Out", outImg);
Mat img=imread(“image.jpg”,imread\u灰度);
Mat outImg=img.clone();
int step=img.cols//抛
ipisize大小;
size.width=img.cols;//IPP图像的大小相同
size.height=img.rows;//读图像img
向量aBuffer(1);
IPPIFilterGripperBorder_8u_C1R((常数Ipp8u*)和img.data[0],步长,(Ipp8u*)和outImg.data[0],步长,大小,ippMskSize5x5,IPPPORDECONST,0,aBuffer.data());
imshow(“Out”,outImg);

结果/错误/问题是什么?输入图像和输出图像相同。没有什么变化。我的意思是什么也没发生。宽度应该是cols和高度行。缓冲区是用来做什么的?可能大小1有点低?根据文档,您需要通过调用IPPIFilterGripperBorderGetBufferSize获得工作缓冲区大小,并根据该大小分配缓冲区。然后,在通话后检查IPPIfilter\u 8u\u C1R状态。验证“步骤”是否正常。它是否等于cols*elemSize()?。米卡是对的宽度=列,高度=行。我修复了列和行,并检查了文档,您是对的,我们必须使用IPPIFilterGripperBorderGetBufferSize函数。但我不明白如何在代码块中重新定义函数?iss缓冲区的作用是什么?