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

C++?opencv利用grabCut算法實(shí)現(xiàn)摳圖示例

 更新時(shí)間:2022年05月12日 16:46:48   作者:淺念念52  
這篇文章主要為大家介紹了C++?opencv利用grabCut算法實(shí)現(xiàn)摳圖的代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

grabCut算法利用了圖像中的紋理(顏色)信息和邊界(反差)信息,只用少量的用戶交互操作,即可得到比較好的分割結(jié)果,和分水嶺順豐比較相似,但是計(jì)算速度比較慢,得到的結(jié)果比較精確

用法:輸入一幅圖片并對一些像素做屬于背景或?qū)儆谇熬暗臉?biāo)記,算法會根據(jù)這個局部標(biāo)記計(jì)算出整個圖像中前景和背景的分割線。

一、grabCut函數(shù)

void grabCut(InputArray img, InputOutputArray mask, Rect rect,
		InputOutputArray bgdModel, InputOutputArray fgdModel,
		int iterCount, int mode = GC_EVAL);
	img 輸入圖像
	mask 輸出掩碼
	rect 用戶選擇的前景矩形區(qū)域
	bgdModel 輸出背景圖像
	fgdModel 輸出前景圖像
	iterCount 迭代次數(shù)
	mode 用于指示函數(shù)執(zhí)行什么操作

二、compare函數(shù)

compare函數(shù)主要用于兩個圖像之間進(jìn)行逐像素的比較

void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop);
	src1 原始圖像1
	src2原始圖像2
	dst 結(jié)果圖像
	cmpop 操作類型

三、代碼

#include<iostream>
#include<opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
	Mat img1;
	img1 = imread("test2.jpg");
	imshow("原圖", img1);
	Rect rect(84, 84, 406, 318);
	Mat img2, bg, fg;
	grabCut(img1, img2, rect, bg, fg,1,GC_INIT_WITH_RECT);
	compare(img2, GC_PR_FGD, img2, CMP_EQ);
	imshow("img2", img2);
	Mat img3(img1.size(), CV_8UC3, Scalar(255, 255, 255));
	img1.copyTo(img3, img2);
	imshow("img3", img3);
	waitKey(0);
}

效果圖:

以上就是C++ opencv利用grabCut算法實(shí)現(xiàn)摳圖示例的詳細(xì)內(nèi)容,更多關(guān)于C++ opencv grabCut算法摳圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++各種輸出數(shù)據(jù)類型詳解

    C++各種輸出數(shù)據(jù)類型詳解

    這篇文章主要介紹了C++各種輸出數(shù)據(jù)類型,在C++中,可以使用cout對象和插入運(yùn)算符<<輸出各種數(shù)據(jù)類型,包括整數(shù)類型、浮點(diǎn)數(shù)類型、字符類型、字符串類型和布爾類型,需要的朋友可以參考下
    2023-06-06
  • 深入分析C++模板特化與偏特化

    深入分析C++模板特化與偏特化

    這篇文章主要介紹了C++模板特化與偏特化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn)

    C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn)

    這篇文章主要介紹了C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C語言?智能指針?shared_ptr?和?weak_ptr

    C語言?智能指針?shared_ptr?和?weak_ptr

    這篇文章主要介紹了C語言?智能指針?shared_ptr?和?weak_ptr,weak_ptr引入可以解決shared_ptr交叉引用時(shí)無法釋放資源的問題,下面來學(xué)習(xí)具體相關(guān)內(nèi)容吧,需要的朋友可以參考一下
    2022-04-04
  • 關(guān)于c語言指針的兩處小tip分享

    關(guān)于c語言指針的兩處小tip分享

    本篇文章是對c語言中指針的兩處小tip進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言單鏈表版學(xué)生信息管理系統(tǒng)

    C語言單鏈表版學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言單鏈表版學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++超詳細(xì)梳理IO流操作

    C++超詳細(xì)梳理IO流操作

    當(dāng)程序與外界進(jìn)行信息交換時(shí),存在兩個對象,一個是程序中的對象,另一個是文件對象。流是信息流動的一種抽象,它負(fù)責(zé)在數(shù)據(jù)的生產(chǎn)者和數(shù)據(jù)的消費(fèi)者之間建立聯(lián)系,并管理數(shù)據(jù)的流動
    2022-07-07
  • QT?UDP網(wǎng)絡(luò)編程實(shí)現(xiàn)簡單消息傳輸

    QT?UDP網(wǎng)絡(luò)編程實(shí)現(xiàn)簡單消息傳輸

    這篇文章主要為大家詳細(xì)介紹了QT?UDP網(wǎng)絡(luò)編程實(shí)現(xiàn)簡單消息傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++動態(tài)聯(lián)編介紹

    C++動態(tài)聯(lián)編介紹

    這篇文章主要介紹了C++動態(tài)聯(lián)編,在C++中,聯(lián)編是指一個計(jì)算機(jī)程序的不同部分彼此關(guān)聯(lián)的過程。按照聯(lián)編所進(jìn)行的階段不同,可分為兩種不同的聯(lián)編方法:靜態(tài)聯(lián)編和動態(tài)聯(lián)編
    2022-01-01
  • C語言利用鏈表與文件實(shí)現(xiàn)登錄注冊功能

    C語言利用鏈表與文件實(shí)現(xiàn)登錄注冊功能

    這篇文章主要介紹了C語言利用鏈表與文件實(shí)現(xiàn)登錄注冊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評論