[問題] opencv範例請教
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
int main( int argc, char** argv ) {
IplImage* image;
image=cvLoadImage("image", 1);
{
// Compute the HSV image and decompose it into separate planes.
//
IplImage* hsv = cvCreateImage( cvGetSize(image), 8, 3 );
cvCvtColor( image, hsv, CV_BGR2HSV );
IplImage* h_plane = cvCreateImage( cvGetSize(image), 8, 1 );
IplImage* s_plane = cvCreateImage( cvGetSize(image), 8, 1 );
IplImage* v_plane = cvCreateImage( cvGetSize(image), 8, 1 );
IplImage* planes[] = { h_plane, s_plane };
cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );
// Build the histogram and compute its contents.
//
int h_bins = 30, s_bins = 32;
CvHistogram* hist;
{
int hist_size[] = { h_bins, s_bins };
float h_ranges[] = { 0, 180 }; // hue is [0,180]
float s_ranges[] = { 0, 255 };
float* ranges[] = { h_ranges, s_ranges };
hist = cvCreateHist(
2,
hist_size,
CV_HIST_ARRAY,
ranges,
1
);
}
cvCalcHist( planes, hist, 0, 0 ); //Compute histogram
cvNormalizeHist( hist, 1.0 ); //Normalize it
// Create an image to use to visualize our histogram.
//
int scale = 10;
IplImage* hist_img = cvCreateImage(cvSize( h_bins * scale, s_bins * scale )
,8 , 3);
cvZero( hist_img );
// populate our visualization with little gray squares.
//
float max_value = 0;
cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );
for( int h = 0; h < h_bins; h++ ) {
for( int s = 100; s < s_bins; s++ ) {
float bin_val = cvQueryHistValue_2D( hist, h, s );
int intensity = cvRound( bin_val * 255 / max_value );
cvRectangle(
hist_img,
cvPoint( h*scale, s*scale ),
cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),
CV_RGB(intensity,intensity,intensity),
CV_FILLED
);
}
}
cvNamedWindow( "HSVtest1", 1 );
cvShowImage( "HSVtest1", image );
cvWaitKey(0);
}
}
這是從書上拿下來練習的範例
想練習如何讓圖片只顯示想要的HUE值
但很多部分看不懂為什麼要這麼做
以及函數的功用
煩請高手幫個忙
謝謝@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.133
→
08/13 23:34, , 1F
08/13 23:34, 1F
→
08/13 23:35, , 2F
08/13 23:35, 2F
※ 編輯: GN00505257 來自: 163.25.118.133 (08/14 00:33)
→
08/14 00:34, , 3F
08/14 00:34, 3F
→
08/14 00:35, , 4F
08/14 00:35, 4F
→
08/14 01:07, , 5F
08/14 01:07, 5F
→
08/14 01:08, , 6F
08/14 01:08, 6F
→
08/16 01:42, , 7F
08/16 01:42, 7F
→
08/16 01:42, , 8F
08/16 01:42, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章