欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV去除綠幕摳圖源碼

 更新時(shí)間:2022年05月13日 14:59:52   作者:拽拽就是我  
這篇文章主要介紹了OpenCV去除綠幕摳圖,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

綠布原圖

綠布原圖

摳圖后的圖片

在這里插入圖片描述

源碼

#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>
#include <cstdio>
#include <cstring>
using namespace cv;
using namespace std;
int main()
{
    //1、設(shè)置需要去除的顏色
    //2、顏色比對(duì)
    //3、展示效果
    //只有png有透明度空間,jpg是沒有透明度空間的
    Mat srcImg = imread("E:/img/lvbu.jpg", -1);
    cout << srcImg.channels() << endl;
   
    Vec3b color(0, 255, 0); //綠色
    //int tempr = 0;
    int tempc = 0;
    //先把圖片放大,做完摳圖后再縮小。
    Mat temp;
    //轉(zhuǎn)換圖片,增加透明區(qū)域
    cvtColor(srcImg, temp, COLOR_RGB2BGRA);
    for (int i = 0; i < srcImg.rows; ++i) {
        for (int j = 0; j < srcImg.cols; ++j) {
            Vec3b &pixel = srcImg.at<Vec3b>(i, j);
            Vec4b &pixel_temp = temp.at<Vec4b>(i, j);
            if (pixel[0] <= 30 && pixel[1] >= 210 && pixel[2] <= 30) {
                tempc = j + 1; //把符合要求的下一個(gè)點(diǎn)也摳掉
                pixel_temp[3] = 0;
                //pixel[0] = 255;
                //pixel[1] = 255;
                //pixel[2] = 255;
            }
            else if (tempc == j - 1) {
                pixel_temp[3] = 0;
                /*pixel[0] = 255;
                pixel[1] = 255;
                pixel[2] = 255;*/
            }
        }     
    }
    imshow("result", temp);
    imwrite("E:/img/result.png", temp);
    waitKey(0);
    return 0;
}

到此這篇關(guān)于OpenCV去除綠幕 摳圖的文章就介紹到這了,更多相關(guān)OpenCV摳圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過程

    C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過程

    利用C/C++開發(fā)大型應(yīng)用程序中,內(nèi)存的管理與分配是一個(gè)需要認(rèn)真考慮的部分,下面這篇文章主要給大家介紹了關(guān)于C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過程,需要的朋友可以參考下
    2021-09-09
  • C語言實(shí)現(xiàn)三子棋游戲

    C語言實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)三子棋游戲的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 利用Matlab編寫簡(jiǎn)易版連連看小游戲

    利用Matlab編寫簡(jiǎn)易版連連看小游戲

    連連看作為經(jīng)典的小游戲,一定是很多人的回憶吧。本文將用Matlab實(shí)現(xiàn)這一經(jīng)典的游戲,文中示例代碼具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    OpenCV使用BSM統(tǒng)計(jì)視頻中移動(dòng)的對(duì)象

    這篇文章主要為大家詳細(xì)介紹了OpenCV如何使用BackgroundSubstractor(BSM)實(shí)現(xiàn)視頻中移動(dòng)對(duì)象統(tǒng)計(jì)功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-02-02
  • C++?基本數(shù)據(jù)類型中int、long等整數(shù)類型取值范圍及原理分析

    C++?基本數(shù)據(jù)類型中int、long等整數(shù)類型取值范圍及原理分析

    這篇文章主要介紹了C++?基本數(shù)據(jù)類型中int、long等整數(shù)類型取值范圍及原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++獲取GPU顯卡信息的示例代碼

    C++獲取GPU顯卡信息的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用C++獲取GPU顯卡信息,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-02-02
  • C++?容器?Vector?的使用方法

    C++?容器?Vector?的使用方法

    這篇文章主要介紹了C++?容器?Vector?的使用方法,Vector?是一個(gè)能夠存放任意類型的動(dòng)態(tài)數(shù)組,有點(diǎn)類似數(shù)組,是一個(gè)連續(xù)地址空間,下文更多詳細(xì)內(nèi)容的介紹,需要的小伙伴可以參考一下
    2022-06-06
  • C++ 11新特性之大括號(hào)初始化詳解

    C++ 11新特性之大括號(hào)初始化詳解

    這篇文章主要介紹了C++ 11新特性之大括號(hào)初始化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Matlab實(shí)現(xiàn)同步子圖視角的方法詳解

    Matlab實(shí)現(xiàn)同步子圖視角的方法詳解

    這篇文章主要和大家分享三個(gè)可以Matlab中更簡(jiǎn)便實(shí)現(xiàn)同步子圖視角的技巧,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-06-06
  • C++ std::unique_lock 用法實(shí)例詳解

    C++ std::unique_lock 用法實(shí)例詳解

    std::unique_lock 是 C++11 提供的一個(gè)用于管理互斥鎖的類,它提供了更靈活的鎖管理功能,適用于各種多線程場(chǎng)景,這篇文章給大家介紹了C++ std::unique_lock 用法,感興趣的朋友跟隨小編一起看看吧
    2023-09-09

最新評(píng)論