opencv-图像二值化、阈值获取、直方图、轮廓提取(转)

这篇博客介绍了如何使用OpenCV进行图像处理,包括通过大津法获取图像阈值、图像二值化、轮廓提取等步骤。示例代码展示了从读取图像到应用这些操作的完整流程。
摘要由CSDN通过智能技术生成
Code:
  1. #include <cv.h>   
  2. #include <highgui.h>   
  3. #include <windows.h>   
  4.   
  5.   
  6.   
  7. // 获取直方图   
  8. // 1. pImageData   图像数据   
  9. // 2. nWidth       图像宽度   
  10. // 3. nHeight      图像高度   
  11. // 4. nWidthStep   图像行大小   
  12. // 5. pHistogram   直方图   
  13. BOOL GetHistogram(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep,   
  14.     int *pHistogram)   
  15. {   
  16.     int            i     = 0;   
  17.     int            j     = 0;   
  18.     unsigned char *pLine = NULL;   
  19.     // 清空直方图   
  20.     memset(pHistogram, 0, sizeof(int) * 256);   
  21.     for (pLine = pImageData, j = 0; j < nHeight; j++, pLine += nWidthStep)   
  22.     {   
  23.         for (i = 0; i < nWidth; i++)   
  24.         {   
  25.             pHistogram[pLine[i]]++;   
  26.         }   
  27.     }   
  28.     return TRUE;   
  29. }   
  30.   
  31. // 大津法取阈值   
  32. // 1. pImageData   图像数据   
  33. // 2. nWidth       图像宽度   
  34. // 3. nHeight      图像高度   
  35. // 4. nWidthStep   图像行大小   
  36. // 函数返回阈值   
  37. int Otsu(unsigned char *pImageData, int nWidth, 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值