91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2024-02-04
  • 語言: C/C++
  • 標簽: opencv??魔方??顏色??

資源簡介

用VS2015寫的C++程序,運用opencv實現識別魔方的各個塊的顏色。

資源截圖

代碼片段和文件信息

#include?
#include?“opencv2/highgui/highgui.hpp“
#include?“opencv2/imgproc/imgproc.hpp“
#include
#include


using?namespace?cv;
using?namespace?std;

//定義結構體
typedef?struct?block?{ //魔方每一塊包含位置和顏色,規定1:白?2:紅?3:綠?4:黃?5:橙?6:藍
Point?Loc;
int?color;
}block;
typedef?struct?Plane?{ //每一個面包含九塊,從左往右,從上往下分別為1-9 色塊大小,200x200(將原圖縮小五倍后)
block?one;
block?two;
block?three;
block?four;
block?five;
block?six;
block?seven;
block?eight;
block?nine;
}Plane;

//全局變量
Plane?Front?Back?Left?Right?Up?Down; //定義六個面

//子函數
Plane?find_block_Loc(Mat?src);
void?panduan_color(Mat?src?Plane?*mian?int?c); //判斷每一個塊的顏色輸入經過處理的圖,需要判斷的面,需要判斷的顏色
void?identify_colors(Mat?src?Plane?*?m);

int?main()
{

Mat?imgOriginal?imgOriginal_quarter;
imgOriginal?=?imread(“魔方.jpg“?1);

resize(imgOriginal?imgOriginal_quarter?Size(imgOriginal.cols?/?5?imgOriginal.rows?/?5)?0?0?INTER_AREA); //尺寸縮小到原圖1/5
imshow(“show“?imgOriginal_quarter);
waitKey(600);
Front?=?find_block_Loc(imgOriginal_quarter);
identify_colors(imgOriginal_quarter?&Front);
circle(imgOriginal_quarter?Front.five.Loc?8?Scalar(255?255?255));
imshow(“show1“?imgOriginal_quarter);
waitKey(60000);
return?0;
}


void?identify_colors(Mat?src?Plane?*?mian) //找到每一面的每一個塊的顏色
{
Mat?imgHSV;
vector?hsvSplit;
cvtColor(src?imgHSV?COLOR_BGR2HSV); //把圖像從BGR轉換到HSV,因為我們讀取的是彩色圖,直方圖均衡化需要在HSV空間做

split(imgHSV?hsvSplit); //用split函數進行通道分離
equalizeHist(hsvSplit[2]?hsvSplit[2]); //直方均衡化,增強圖像對比度
merge(hsvSplit?imgHSV); //split的逆操作,組合成多通道,輸出對比度增強后的圖

Mat?imgThresholded;
Mat?element?=?getStructuringElement(MORPH_RECT?Size(5?5));
/*判斷九個塊是否有?**紅色**?,如果有,在color里存入2*/
inRange(imgHSV?Scalar(165?20?20)?Scalar(180?255?255)?imgThresholded);?//把HSV在設定閾值內的顏色區域取成白色,其他區域取成黑色
morphologyEx(imgThresholded?imgThresholded?MORPH_OPEN?element); ?//開操作?(去除一些噪點)
morphologyEx(imgThresholded?imgThresholded?MORPH_CLOSE?element); ??? //閉操作?(連接一些連通域)
panduan_color(imgThresholded?mian?2);

/*判斷九個塊是否有?**橙色**?,如果有,在color里存入5*/
inRange(imgHSV?Scalar(0?40?40)?Scalar(20?255?255)?imgThresholded);
morphologyEx(imgThresholded?imgThresholded?MORPH_OPEN?element);
morphologyEx(imgThresholded?imgThresholded?MORPH_CLOSE?element);
panduan_color(imgThresholded?mian?5);

/*判斷九個塊是否有?**黃色**?,如果有,在color里存入4*/
inRange(imgHSV?Scalar(26?40?40)?Scalar(45?255?255)?imgThresholded);
morphologyEx(imgThresholded?imgThresholded?MORPH_OPEN?element);
morphologyEx(imgThresholded?imgThresholded?MORPH_CLOSE?element);
panduan_color(imgThresholded?mian?4);

/*判斷九個塊是否有?**綠色**,如果有,在color里存入3*/
inRange(imgHSV?Scalar(50?40?40)?Scalar(95?255?255)?imgThresholded);
morphologyEx(imgThresholded?imgThresholded?MORPH_OPEN?element);
morphologyEx(imgThresholded?imgThresholded?MORPH_CLOSE?element);
panduan_color(imgThresholded?mian?3);

/*判

評論

共有 條評論