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

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, 
  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
在使用OpenCV进行灰度图像二值化时,可以使用以下函数进行操作: ```python import cv2 # 读取图像 img = cv2.imread('image.jpg', 0) # 以灰度模式读取图像 # 应用全局阈值二值化 _, img_bin = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 显示二值化后的图像 cv2.imshow('Binary Image', img_bin) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在上述代码中,`cv2.threshold()`函数用于将灰度图像进行二值化处理。其中,`img`是输入的灰度图像,`127`是设定的阈值,`255`是二值化后的最大值,`cv2.THRESH_BINARY`表示使用二进制阈值化方法。函数返回两个值,第一个值是阈值,第二个值是二值化后的图像。最后,使用`cv2.imshow()`函数显示二值化后的图像。 请注意,上述代码中的`image.jpg`是示例图像的文件名,你需要根据实际情况修改为你要处理的图像文件名。 #### 引用[.reference_title] - *1* [OpenCV python(四)图像预处理:二值化 && 滤波操作](https://blog.csdn.net/xztli/article/details/126175975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python - OpenCV 图像二值化处理](https://blog.csdn.net/bugang4663/article/details/109589177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python-opencv 灰度直方图+图像二值化](https://blog.csdn.net/weixin_43909400/article/details/123378690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值