OpenCV識別指定顏色(黑、灰、白、紅、橙、黃、綠、青、藍、紫)
根據HSV色域的特點,進行識別,關於HSV色域,請看這篇博文
https://blog.csdn.net/qq78442761/article/details/82805610
素材如下:
執行截圖如下:
原始碼如下:
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgproc/imgproc_c.h>
#include <iostream>
#include <vector>
using namespace std;
using namespace cv;
void main(){
Mat matSrc=imread("purple.png",IMREAD_UNCHANGED);
Mat matHsv;
cvtColor(matSrc,matHsv,COLOR_BGR2HSV);
vector<int> colorVec;
colorVec.push_back(matHsv.at<uchar>(0,0));
colorVec.push_back(matHsv.at<uchar>(0,1));
colorVec.push_back(matHsv.at<uchar>(0,2));
if((colorVec[0]>=0&&colorVec[0]<=180)
&&(colorVec[1]>=0&&colorVec[1]<=255)
&&(colorVec[2]>=0&&colorVec[2]<=46)){
cout<<"黑"<<endl;
}
else if((colorVec[0]>=0&&colorVec[0]<=180)
&&(colorVec[1]>=0&&colorVec[1]<=43)
&&(colorVec[2]>=46&&colorVec[2]<=220)){
cout<<"灰"<<endl;
}
else if((colorVec[0]>=0&&colorVec[0]<=180)
&&(colorVec[1]>=0&&colorVec[1]<=30)
&&(colorVec[2]>=221&&colorVec[2]<=255)){
cout<<"白"<<endl;
}
else if(((colorVec[0]>=0&&colorVec[0]<=10)||(colorVec[0]>=156&&colorVec[0]<=180))
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"紅"<<endl;
}
else if((colorVec[0]>=11&&colorVec[0]<=25)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"橙"<<endl;
}
else if((colorVec[0]>=26&&colorVec[0]<=34)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"黃"<<endl;
}
else if((colorVec[0]>=35&&colorVec[0]<=77)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"綠"<<endl;
}
else if((colorVec[0]>=78&&colorVec[0]<=99)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"青"<<endl;
}
else if((colorVec[0]>=100&&colorVec[0]<=124)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"藍"<<endl;
}
else if((colorVec[0]>=125&&colorVec[0]<=155)
&&(colorVec[1]>=43&&colorVec[1]<=255)
&&(colorVec[2]>=46&&colorVec[2]<=255)){
cout<<"紫"<<endl;
}
else{
cout<<"未知"<<endl;
}
getchar();
}
下面將利用Qt與Python進行動態螢幕顏色識別!
相關文章
- 藍綠紅黑灰|常用的釋出方式
- Word中更換指定文字顏色(紅-黑)
- 紅藍綠:主機「御三家」的顏色之謎
- 你對顏色的搭配有了解嗎?你覺得紅、綠、藍分別搭配什麼顏色比較好看呢?
- 基於OpenCV的車牌識別(Sobel、顏色定位)OpenCV
- Halcon顏色識別
- 藍/綠和紅/黑部署之間有什麼區別? - DZone DevOpsdev
- 黑鐵、青銅、白銀、黃金、鉑金、鑽石等級劃分
- 水體顏色智慧識別系統
- python--顏色的RGB轉BGR(opencv)PythonOpenCV
- python-opencv顏色分析小工具PythonOpenCV
- 排水口水體顏色識別系統
- 機械鍵盤黑軸紅軸青軸茶軸區別 機械鍵盤黑軸紅軸青軸茶軸玩遊戲打字哪個好遊戲
- 網路安全中什麼是白帽、黑帽、灰帽駭客?有什麼區別?
- 【cesium】修改底圖顏色為藍色科技範兒
- CSS 顏色值型別CSS型別
- OpenCV基於顏色資訊的車牌提取OpenCV
- 紅米Note 5紅色版要來?顏值大亮
- 自古紅藍出CP!藍色巨人IBM 340億美元收購紅帽IBM
- opencv 人臉識別OpenCV
- 知識普及:黑盒測試、白盒測試、灰盒測試之間的區別
- ava 集合 | 紅黑樹 | 前置知識
- python opencv識別藍牌車牌號 之 取出車牌號 (1/3)PythonOpenCV
- OpenCore黑蘋果藍芽能識別但是搜尋不到裝置蘋果藍芽
- 電腦藍色畫面黑屏很常見 電腦綠屏、紅屏、白屏你見過嗎?
- OpenCV4影像處理--影像查詢表和顏色表OpenCV
- 青橙科技:2018-2019健身行業白皮書行業
- AMD攻,Intel守,紅藍大戰趨於白熱化Intel
- OpenCV開發筆記(七十二):紅胖子8分鐘帶你使用opencv+dnn+tensorFlow識別物體OpenCV筆記DNN
- Linux中檔案顏色代表型別Linux型別
- [SVG]修改固定顏色為填充顏色SVG
- opencv 黑帽操作OpenCV
- 「Premiere中文新手教程」認識顏色皮膚REM
- 綠色產能綠色時尚
- OpenCV開發筆記(七十三):紅胖子8分鐘帶你使用opencv+dnn+yolov3識別物體OpenCV筆記DNNYOLO
- vivo X23魅影紫和幻夜藍圖賞 精美漸變色水滴屏
- 【黑灰產犯罪研究】暗網
- 青橙:2016-2017中國健身行業白皮書行業