opencv histogram
来源:互联网 发布:电商美工是干什么的 编辑:程序博客网 时间:2024/05/14 18:45
https://www.douban.com/note/545836966/
#define cvQueryHistValue_1D( hist, idx0 ) \
((float)cvGetReal1D( (hist)->bins, (idx0)))或者:
#include <opencv2/legacy/compat.hpp>
------- 第一个 OPENCV 程序,不要笑话我是菜鸟呀,以前以为不会用到opencv呢 ------------------
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
------------------------------------------------------------------------------------------------------
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
------------------------------------ second ------------------------------
#include "opencv2/opencv.hpp"
#define cvQueryHistValue_1D( hist, idx0 ) ((float)cvGetReal1D( (hist)->bins, (idx0)))
int main()
{
IplImage* src= cvLoadImage("./woman.jpg");
IplImage* gray_dst= cvCreateImage(cvGetSize(src), 8, 1);
cvCvtColor(src, gray_dst, CV_BGR2GRAY);
//一维维数
int dims= 1;
//直方图的尺寸
int size= 256;
//直方图的高度
int height = 256;
//灰度图的范围0到255
float range[]= {0, 256};
float *ranges[]= {range};
//创建一维直方图
CvHistogram* hist;
hist= cvCreateHist(dims, &size, CV_HIST_ARRAY, ranges, 1);
//计算灰度图的一维直方图
cvCalcHist(&gray_dst, hist, 0, 0);
//归一化直方图
cvNormalizeHist(hist, 1.0);
int scale= 2;
//创建图像,用于显示直方图
IplImage* hist_img= cvCreateImage(cvSize(size* scale, height), 8, 3);
//图像置零
cvZero(hist_img);
//计算直方图的最大方块值,初始化为0
float max_value= 0;
cvGetMinMaxHistValue(hist, 0, &max_value, 0, 0);
//绘制直方图
for(int i=0; i<size; i++)
{
float bin_val= cvQueryHistValue_1D(hist, i); //像素i的概率
int intensity = cvRound(bin_val* height/ max_value); // 绘制的高度
cvRectangle(hist_img, cvPoint(i* scale, height- 1),
cvPoint((i+1)* scale- 1, height- intensity), RGB(255, 255, 255));
}
cvNamedWindow("gray");
cvShowImage("gray", gray_dst);
cvNamedWindow("Histogram");
cvShowImage("Histogram", hist_img);
cvWaitKey(0);
cvReleaseImage(&src);
cvReleaseImage(&gray_dst);
cvReleaseImage(&hist_img);
cvDestroyWindow("gray");
cvDestroyWindow("Histogram");
}
1 0
- opencv histogram
- Histogram Equalization OpenCV offical guild
- OpenCV-绘制图像的像素直方图-Histogram
- Python + OpenCV 直方图均衡 (Histogram Equalization)
- 【原理+OpenCV接口】HOG-Histogram of oriented gradients
- How Can I Create Histogram Projection In Opencv ?
- [计算机视觉]2015.9.30Histogram Equalization with opencv
- OpenCV学习Histogram&equalizeHist&Lomography effect&Cartoonize effect实现
- Vertical Histogram
- Intensity Histogram
- Histogram Equalization
- Vertical Histogram
- Histogram Matching
- Histogram Calculation
- Vertical Histogram
- Vertical Histogram
- Histogram equlization
- histogram DEMO
- Fighting_小银考呀考不过四级
- ubuntu安装Python虚拟环境
- unity 关于添加自动导航NavMeshAgent后模型动画的抖动问题
- IP地址输入控件(仿照windows的ip输入做的)
- [JZOJ5029]围墙
- opencv histogram
- zookeeper Java客户端API的使用方法
- [11]javascript Function 类型
- 解决Unable to add a source with url
- 设计模式(19)-中介者模式
- 数据存储与访问之——初见SQLite数据库
- BZOJ2466: [中山市选2009]树
- attr与prop的区别
- 转载:年近30------职业回顾与思考