目的:
cvInRangeS 找出特定的顏色
函數介紹:
cvInRangeS 找出特定的顏色,找到的話,就顯示為白色,不然為黑色。
參數值:
C: void cvInRangeS(const CvArr* src, CvScalar lower, CvScalar upper, CvArr* dst)
Parameters: |
- src – first input array.
- lowerb – inclusive lower boundary array or a scalar.
- upperb – inclusive upper boundary array or a scalar.
- dst – output array of the same size as src and CV_8U type.
|
---|
使用範例:
sample12-1_cvInRangeS_找出皮膚顏色
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string.h>
#include <fstream>
using namespace cv;
int main(int argc,char **argv)
int width,height;
if(argc<=1)
std::cout<<"Error:Please Load a picture!"<<std::endl;
return 0;
IplImage *image;
//建立視窗
namedWindow("image",CV_WINDOW_AUTOSIZE);
//讀取圖片
image=cvLoadImage(argv[1]);
width=image->width;
height=image->height;
// 畫出正方形的外框
IplImage * img2=cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);
cvInRangeS(image, cvScalar(90,110,180), cvScalar(139,164,236), img2);
cvShowImage("image", image);
waitKey(0);
cvShowImage("image2", img2);
waitKey(0);
cvDestroyAllWindows();
return 0;
結果:
![Screen Shot 2015-03-01 at 1.10.25 PM](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sLX0aWRrDqb1IGTc_T_HvdR-j__w7OHe8gk1VrsKVDpDa3u9-8dlC23TahmmhZ7YtPS0P2b3B85O2piWqiFRgZrxVTnG8cIZ6cd7s5LhlwkguEYjiY4RiyzUmF8ig-ZuNLPQzIS0JKhbknTNOlQRkWgh_iaAaP3jr29oFzX8xqRWn2OxIOvtc=s0-d)
補充資料:
01 cvInRangeS 找出皮膚的顏色
No comments:
Post a Comment