直方图可视化,图像阈值化
来源:互联网 发布:发货找物流软件 编辑:程序博客网 时间:2024/05/18 07:59
#ifndef HISTOGRAM_H_#define HISTOGRAM_H_#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include <opencv2/calib3d/calib3d.hpp>#include<iostream>#include <vector> using namespace std; using namespace cv; class Histogram1D { private: int histSize[1]; float hranges[2]; const float *ranges[1]; int channels[1]; public: Histogram1D() { histSize[0]=256; hranges[0]=0.0; hranges[1]=255.0; ranges[0]=hranges; channels[0]=0; }; cv::MatND getHistogram(const cv::Mat &image) { cv::MatND hist; cv::calcHist(&image,1,channels,cv::Mat(),hist,1,histSize,ranges); return hist; }; cv::Mat getHistogramImage(const cv::Mat &image) { cv::MatND hist=getHistogram(image); double maxVal=0; double minVal=0; cv::minMaxLoc(hist,&minVal,&maxVal,0,0); cv::Mat histImg(histSize[0],histSize[0],CV_8U,cv::Scalar(255)); int hpt=static_cast<int>(0.9*histSize[0]); for(int h=0;h<histSize[0];h++) { float binVal=hist.at<float>(h); int intensity=static_cast<int>(binVal*hpt/maxVal); cv::line(histImg,cv::Point(h,histSize[0]),cv::Point(h,histSize[0]-intensity),cv::Scalar::all(0)); } return histImg; }; };#endif /* HISTOGRAM_H_ */#include"Histogram1D.h" int main() { cv::Mat image=cv::imread("d:\\test\\opencv\\group.jpg",0); if( !image.data ) exit(0); Histogram1D h; cv::namedWindow("Histogram"); cv::imshow("Histogram",h.getHistogramImage(image)); cv::Mat thresholded; cv::threshold(image,thresholded,60,255,cv::THRESH_BINARY); cv::namedWindow("Binary Image"); cv::imshow("Binary Image",thresholded); waitKey(0); return 0; }
1 0
- 直方图可视化,图像阈值化
- 【数字图像处理】图像可视化对数增强 直方图及其均衡化
- 图像阈值化
- 图像otsu阈值化
- opencv-----图像阈值化
- 图像阈值化
- opencv-图像二值化、阈值获取、直方图、轮廓提取(转)
- opencv-图像二值化、阈值获取、直方图、轮廓提取
- opencv-图像二值化、阈值获取、直方图、轮廓提取(转)
- [matlab 图像处理] 阈值分割(直方图自己算)
- OpenCV图像的阈值化
- OpenCV实现图像阈值化
- opencv(14)---图像阈值化
- 图像直方图均衡化
- 图像直方图均衡化
- 图像直方图均衡化
- 图像直方图均衡化
- chapter16图像阈值化(图像预处理)
- 矩阵走法问题
- Guest OS, Qemu, KVM工作流程
- Java 多线程
- cocos2d-x笔记(十一)Lua开发飞机大战-5-让飞机动起来
- JavaScript事件冒泡
- 直方图可视化,图像阈值化
- CTreeCtrl 控件的用法
- 实体完整性约束 参照完整性约束 左外连接 右外连接 关系表达式的优化 SQL
- 系统开机引导
- Raw-OS源码分析之系统tick中断
- portlet的开发介绍
- windows程序设计:第二章:Unicode简介
- 手机地图功能设计--本地生活入口之一
- iOS网络编程(一)NSURLConnection