2012-10-16 35 views
-3

自适应中值滤波我有一个问题,写自适应中值的代码。与opencv的C++

这是计算最小强度像素最大n值的最佳方法?现在

直到我读出的图像

for (int y = 0; y < h; y++) 
{ 
    uchar *ptr = (uchar*)(img->imageData + y * step); 
    for (int x = 0; x < w; x++){ 
    printf("%u, ", ptr[x]); 
    } 
    printf("\n"); 
}  
+2

问题是什么? – DaveHogan

+1

有什么问题?你能用更多的细节来描述它吗?你检查过你的算法吗?你有什么?你期望得到什么?你能写一些代码吗? – elyashiv

+0

请提出具体问题。你在哪里遇到麻烦?你只是想找人把你的逻辑转换成代码?如果是这样,这不是它的网站。 –

回答

0

对于你需要记录的第一像素的值,然后互相比较像素到它,存储新值,如果它分别是低/高最小/最大像素。 OpenCV提供cv::minmaxLoc以简化这一过程。

对于你需要的所有像素排序,选择中间的一个中值(一次排序,当然,寻找最小/最大是微不足道的,因为他们会在列表的任一端)。这更棘手,你有多远,什么不工作?