資源簡介
淺墨出品,分享精神至上~
利用OpenCV載入了dota2英雄幻影刺客的原畫和dota2 logo,進行ROI區域定義和圖像混合處理的一個非常有趣的示例程序。
博文《【OpenCV入門教程之四】 ROI區域圖像疊加&初級圖像混合 全剖析》的配套詳細注釋源代碼。
博文鏈接:
http://blog.csdn.net/poem_qianmo/article/details/20911629
1.Release文件夾下的exe可以直接看到運行結果.
2.源代碼運行需要進行OpenCV+VS開發環境的配置。可以參看我寫的配置博文:
http://blog.csdn.net/poem_qianmo/article/details/19809337
3.寫作當前代碼時配套使用的OpenCV版本: 2.4.8
4.推薦代碼結合博文一起看,學習效果更佳。
by淺墨

代碼片段和文件信息
//-----------------------------------【程序說明】----------------------------------------------
//??程序名稱:【OpenCV入門教程之四】?ROI區域圖像疊加&初級圖像混合?全剖析??配套源碼?
//?VS2010版???OpenCV版本:2.4.8
// ?2014年3月10日?Create?by?淺墨
//??圖片素材出處:dota2原畫?dota2logo??
// ?配套博文鏈接:http://blog.csdn.net/poem_qianmo/article/details/20911629
// ?淺墨的微博:@淺墨_毛星云
//------------------------------------------------------------------------------------------------
//-----------------------------------【頭文件包含部分】---------------------------------------
// 描述:包含程序所依賴的頭文件
//----------------------------------------------------------------------------------------------?????????????????????????????????????????????????????????????????????????????????????
#include?
#include?
#include?
//-----------------------------------【命名空間聲明部分】---------------------------------------
// 描述:包含程序所使用的命名空間
//-----------------------------------------------------------------------------------------------???
using?namespace?cv;
using?namespace?std;
//-----------------------------------【全局函數聲明部分】--------------------------------------
// 描述:全局函數聲明
//-----------------------------------------------------------------------------------------------
bool??ROI_AddImage();
bool??LinearBlending();
bool??ROI_LinearBlending();
//-----------------------------------【main(?)函數】--------------------------------------------
// 描述:控制臺應用程序的入口函數,我們的程序從這里開始
//-----------------------------------------------------------------------------------------------
int?main(???)
{
system(“color?5E“);
if(ROI_AddImage(?)&&?LinearBlending(?)&&ROI_LinearBlending(?))
{
cout< }
waitKey(0);
return?0;
}
//----------------------------------【ROI_AddImage(?)函數】----------------------------------
//?函數名:ROI_AddImage()
// 描述:利用感興趣區域ROI實現圖像疊加
//----------------------------------------------------------------------------------------------
bool??ROI_AddImage()
{
//?【1】讀入圖像
Mat?srcImage1=?imread(“dota_pa.jpg“);
Mat?logoImage=?imread(“dota_logo.jpg“);
if(?!srcImage1.data?)?{?printf(“你妹,讀取srcImage1錯誤~!?\n“);?return?false;?}
if(?!logoImage.data?)?{?printf(“你妹,讀取logoImage錯誤~!?\n“);?return?false;?}
//?【2】定義一個Mat類型并給其設定ROI區域
Mat?imageROI=?srcImage1(Rect(200250logoImage.colslogoImage.rows));
//?【3】加載掩模(必須是灰度圖)
Mat?mask=?imread(“dota_logo.jpg“0);
//【4】將掩膜拷貝到ROI
logoImage.copyTo(imageROImask);
//?【5】顯示結果
namedWindow(“<1>利用ROI實現圖像疊加示例窗口“);
imshow(“<1>利用ROI實現圖像疊加示例窗口“srcImage1);
return?true;
}
//---------------------------------【LinearBlending()函數】-------------------------------------
//?函數名:LinearBlending()
//?描述:利用cv::addWeighted()函數實現圖像線性混合
//--------------------------------------------------------------------------------------------
bool??LinearBlending()
{
//【0】定義一些局部變量
double?alphaValue?=?0.5;?
double?betaValue;
Mat?srcImage2?srcImage3?dstImage;
//?【1】讀取圖像?(?兩幅圖片需為同樣的類型和尺寸?)
srcImage2?=?imr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????43709??2014-02-26?09:28??OpenCVdemo2\OpenCVdemo2\dota_logo.jpg
?????文件??????64049??2014-03-09?19:23??OpenCVdemo2\OpenCVdemo2\dota_pa.jpg
?????文件???????5158??2014-03-10?12:51??OpenCVdemo2\OpenCVdemo2\main.cpp
?????文件?????290537??2014-02-26?10:07??OpenCVdemo2\OpenCVdemo2\mogu.jpg
?????文件???????3921??2014-03-06?16:12??OpenCVdemo2\OpenCVdemo2\OpenCVdemo2.vcxproj
?????文件????????942??2014-03-06?16:12??OpenCVdemo2\OpenCVdemo2\OpenCVdemo2.vcxproj.filters
?????文件????????143??2014-03-06?16:11??OpenCVdemo2\OpenCVdemo2\OpenCVdemo2.vcxproj.user
?????文件?????114207??2014-02-26?10:00??OpenCVdemo2\OpenCVdemo2\rain.jpg
?????文件????????900??2014-03-06?16:11??OpenCVdemo2\OpenCVdemo2.sln
????..A..H.?????15360??2014-03-10?10:05??OpenCVdemo2\OpenCVdemo2.suo
?????文件??????43709??2014-02-26?09:28??OpenCVdemo2\Release\dota_logo.jpg
?????文件??????64049??2014-03-09?19:23??OpenCVdemo2\Release\dota_pa.jpg
?????文件?????290537??2014-02-26?10:07??OpenCVdemo2\Release\mogu.jpg
?????文件??????17920??2014-03-10?11:25??OpenCVdemo2\Release\OpenCVdemo2?by淺墨.exe
?????文件????2098688??2013-12-29?12:09??OpenCVdemo2\Release\opencv_core248.dll
?????文件????2080768??2013-12-29?12:10??OpenCVdemo2\Release\opencv_highgui248.dll
?????文件????1905664??2013-12-29?12:10??OpenCVdemo2\Release\opencv_imgproc248.dll
?????文件?????114207??2014-02-26?10:00??OpenCVdemo2\Release\rain.jpg
?????目錄??????????0??2014-03-10?12:51??OpenCVdemo2\OpenCVdemo2
?????目錄??????????0??2014-03-10?12:56??OpenCVdemo2\Release
?????目錄??????????0??2014-03-10?12:56??OpenCVdemo2
-----------?---------??----------?-----??----
??????????????7154468????????????????????21
評論
共有 條評論