OpenCV 3.0に果敢に挑戦し続けてみる

個人的な趣味の一環として、OpenCV 3.0がらみの情報をまとめてみる。「引用はいぃんよー、無断転載はあかんよー」ということで。

違和感、仕事しろ!(OpenCV 3.0.0-dev Seamless Cloning)

OpenCV 3.0.0-devのphoto moduleネタです。

まず、結果から。

 

ここにすた丼があるじゃろ?

f:id:anobiidae:20140305070545j:plain

 

 

これをこうして、

f:id:anobiidae:20140305070606j:plain

f:id:anobiidae:20140305070615p:plain

 

こうじゃ!!

f:id:anobiidae:20140305070629j:plain

 

ということで、スムージングして違和感なく、すた丼の上にたい焼きを乗せられました、というのがこの機能。(若干、たい焼きの色が変わってる)。ただ、パラメータの意味とかよくわかーんなーい、上に、ドキュメント間違ってるじゃんかと。

 

サンプルコードはこちら。

#include <opencv/cv.hpp>

 
int main(){
    cv::Mat src  = cv::imread("image1.jpg");
	cv::Mat dst  = cv::imread("image2.jpg");
	cv::Mat mask = cv::imread("mask.png",1);
	cv::Mat result;
	cv::Point point = cv::Point(190,120);
	cv::seamlessClone( src, dst, mask, point, result, cv::NORMAL_CLONE);
	cv::imwrite("result_NORMAL_CLONE.jpg", result);
	cv::seamlessClone( src, dst, mask, point, result, cv::MIXED_CLONE);
	cv::imwrite("result_MIXED_CLONE.jpg", result);
	cv::seamlessClone( src, dst, mask, point, result, cv::MONOCHROME_TRANSFER );
	cv::imwrite("result_MONOCHROME_TRANSFER.jpg", result);

return 0;
}


MIXED_CLONEの結果

f:id:anobiidae:20140305070822j:plain

MONOCHROME_TRANSFERの結果(のはずなんだけどなー)

f:id:anobiidae:20140305070854j:plain