search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

OPENCV圖像色彩空間與應用轉換[利用RGB轉HSV達到圖像去背/顏色偵測 效果] – jashliao部落格

OPENCV圖像色彩空間與應用轉換[利用RGB轉HSV達到圖像去背/顏色偵測 效果]


資料來源: https://mp.weixin.qq.com/s?__biz=MzA4MDExMDEyMw==&mid=2247487846&idx=1&sn=b37138529b27f27761f8b413359f23ff&chksm=9fa86622a8dfef34e230db6b7934ba31ba35aaa728c6de441a500f78f4df807042cd2d45080e&scene=126&sessionid=1580708165&key=770228bd0c42a094e368c6b53f28c79cc88b8e633bdee55433372790587a329b009805d11cf908a98ebc2ae614b0c8d31b028c6bd2a7713ba8f3df5e924c67bc62c5bf61d8cf616e0f4404b8413fc200&ascene=1&uin=MjIwODk2NDgxNw==&devicetype=Windows+10&version=6208006f&lang=zh_TW&exportkey=ApIdp03xFZhH6gGZaGNX7D4=&pass_ticket=2DoZmWVnEtz3icm2PB+ayuUcqv9cXB85Gfur/LC9QWuEf3aWO8oX/5eXQtPf9s4Y

H(Hue) 表示顏色通道,不同的值表示不同的顏色範圍

S表示飽和度通道,表示色澤

V表示亮度通道,代表圖像亮度高低級別

在H、S、V通道上對圖像亮度跟顏色或者飽和度的調整就非常方便了,另外對一些特定的顏色值進行分離也比較方便了。

#include 
#include 

using namespace cv;
using namespace std;

int main(int argc, const char *argv[])
{
    Mat src = imread("D:/vcprojects/images/cat.jpg");
    if (src.empty()) {
        printf("could not load image...\n");
        return -1;
    }
    namedWindow("input", WINDOW_AUTOSIZE);
    imshow("input", src);

    // RGB to HSV
    Mat hsv;
    cvtColor(src, hsv, COLOR_BGR2HSV);
    imshow("hsv", hsv);

    // RGB to YUV
    Mat yuv;
    cvtColor(src, yuv, COLOR_BGR2YUV);
    imshow("yuv", yuv);

    // RGB to YUV
    Mat ycrcb;
    cvtColor(src, ycrcb, COLOR_BGR2YCrCb);
    imshow("ycrcb", ycrcb);

    Mat src2 = imread("D:/javaopencv/tinygreen.png");
    imshow("src2", src2);
    cvtColor(src2, hsv, COLOR_BGR2HSV);
    Mat mask;
    inRange(hsv, Scalar(35, 43, 46), Scalar(99, 255, 255), mask);
    imshow("mask", mask);

    waitKey(0);
    return 0;
}



熱門推薦

本文由 jashliaoeuwordpress 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦