3

我对数字图像处理真的很陌生,并且解决了下面提到的问题:-我需要编写一个 C 程序来加载 ppm 图像文件并使用卷积核进行线检测。任何形式的帮助将不胜感激。

4

1 回答 1

8
  1. 首先,您需要打开文件fopen(..)
  2. 其次,您需要设计一个数组或数据结构来存储图像。
  3. 然后你需要为每种类型的角度设计一个遮罩
  4. 根据蒙版的大小添加边框,将蒙版与图像进行卷积
  5. 保存到文件

可能会发现此链接有帮助 http://dasl.mem.drexel.edu/alumni/bGreen/www.pages.drexel.edu/_weg22/edge.html

要在您引用的链接中实现掩码,请使用此代码并将 GX 和 GY 更改为 a) 和 b)

/* 3x3 GX Sobel mask. Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */

GX[0][0] = -1; GX[0][1] = 2; GX[0][2] = -1;

GX[1][0] = -1; GX[1][1] = 2; GX[1][2] = -1;

GX[2][0] = -1; GX[2][1] = 2; GX[2][2] = -1;

/* 3x3 GY Sobel mask. Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */

GY[0][0] = -1; GY[0][1] = -1; GY[0][2] = -1;

GY[1][0] = 2; GY[1][1] = 2; GY[1][2] = 2;

GY[2][0] = -1; GY[2][1] = -1; GY[2][2] = -1;

c) 和 d) 相同

除了从头开始创建之外,您还可以使用开源openCV http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html 也有关于如何使用它的在线文档和教科书 http: //www.amazon.com/dp/0596516134

于 2013-06-13T13:56:41.677 回答