- #include <cv.h>
- #include <highgui.h>
- #include <windows.h>
- // 获取直方图
- // 1. pImageData 图像数据
- // 2. nWidth 图像宽度
- // 3. nHeight 图像高度
- // 4. nWidthStep 图像行大小
- // 5. pHistogram 直方图
- BOOL GetHistogram(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep,
- int *pHistogram)
- {
- int i = 0;
- int j = 0;
- unsigned char *pLine = NULL;
- // 清空直方图
- memset(pHistogram, 0, sizeof(int) * 256);
- for (pLine = pImageData, j = 0; j < nHeight; j++, pLine += nWidthStep)
- {
- for (i = 0; i < nWidth; i++)
- {
- pHistogram[pLine[i]]++;
- }
- }
- return TRUE;
- }
- // 大津法取阈值
- // 1. pImageData 图像数据
- // 2. nWidth 图像宽度
- // 3. nHeight 图像高度
- // 4. nWidthStep 图像行大小
- // 函数返回阈值
- int Otsu(unsigned char *pImageData, int nWidth,
opencv-图像二值化、阈值获取、直方图、轮廓提取(转)
最新推荐文章于 2024-08-13 08:21:22 发布
这篇博客介绍了如何使用OpenCV进行图像处理,包括通过大津法获取图像阈值、图像二值化、轮廓提取等步骤。示例代码展示了从读取图像到应用这些操作的完整流程。
摘要由CSDN通过智能技术生成