gpt4 book ai didi

c# - 如何申请cvsobel + emgucv

转载 作者:行者123 更新时间:2023-12-02 17:15:49 26 4
gpt4 key购买 nike

使用cvsobel函数时遇到一些问题。我已经读过cvsobel将图像深度从8位增加到16位...

有人可以帮我弄清楚如何将其缩放回8位...

我的代码是

Image<Gray, Byte> grayImage = TestImage.Convert<Gray, Byte>().PyrDown().PyrUp(); ;
Image<Gray, Byte> Dest = new Image<Gray, Byte>(grayImage.Size);
Image<Gray, Byte> SobelHorizontal = new Image<Gray, Byte>(grayImage.Size);
CvInvoke.cvCanny(grayImage, Dest, 10, 60, 3);
CvInvoke.cvSobel(Dest, SobelHorizontal, 1, 0, 3); // introduces exception

其中 TestImage是我从用户那里获取的彩色图像。

我认为这里的问题与 SobelHorizontal的声明有关。我如何在此处给出16位深度并使该函数起作用。

最佳答案

嗯,EMGU实际上在C#中有sobel和canny实现:

 //grayImage.Canny(Gray thresh, Gray threshelinking)
grayImage.Canny(new Gray(10), new Gray(60));
//grayImage.Sobel(int xorder, intyorder, int aptureSize)
grayImage.Sobel(1, 0, 3);

这应该随心所欲,而不会遇到麻烦,但是正如提到的vasile一样,您可以根据需要声明图像的数据类型
Image<Gray,short> Image<Gray,double>, or Image<Gray,float>.

干杯,

克里斯

关于c# - 如何申请cvsobel + emgucv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com