canny算子能处理24位图像吗

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:44:09
下载的canny算子(VC)只能处理8位图像,有能处理24位图像的源码没啊

我帮你查了一下相关论文,有两个思路。
1)将R,G,B拆成三个单色图像,分别用CANNY算子处理,得到三个边缘强度图,然后“合成”为一个边缘强度图。这个合成的意思,我没有仔细调查,你可以计算三维强度值的向量距离来试试。L=root(R^2+G^2+B^2)

2)还有一个是将RGB空间投影到YCbCr空间,这里边的Y值作为灰度强度。
Y = 0.299 R + 0.587 G + 0.114 B
Cb = - 0.1687 R - 0.3313 G + 0.5 B + 128
Cr = 0.5 R - 0.4187 G - 0.0813 B + 128
将Y值图,作为普通的8位图像,适用于CANNY算子。

说实话,两种我自己都没有实践过,只是从论文里理解的思路。不知道是不是能成为参考。

可以处理。你把里面对像素处理的句子改一下就成。如果你在8为的时候提取一个像素是p[i],那么在24位下应改为:
p[3*i],p[3*i+1],p[3*i+2],分别代表像素的三个8位。即如果要进行灰度变换,8位下就是p[i]=111;,如果是24位的,就要变为:
p[3*i]=111;
p[3*i+1]=111;
p[3*i+2]=111;

再者,你也可以把24位图像灰度化后改为8位的,然后用你下载的程序处理