对OpenCV中seamlessClone的初步实验

简介: seamlessClone是OpenCV中新出现的函数,应该说如果能够基于较为准确的图像分割,能够得到很好的结果。原始的前景,背景三种flag下的融合结果 //注意头文件中添加  #include int main( int argc, const char** argv ){    Mat src = imread("iloveyoupapa.

seamlessClone是OpenCV中新出现的函数,应该说如果能够基于较为准确的图像分割,能够得到很好的结果。

原始的前景,背景
三种flag下的融合结果
 
//注意头文件中添加   #include  <opencv2/photo.hpp>
int main(  int argc,  const  char * * argv )
{
    Mat src  = imread( "iloveyoupapa.png");
    Mat dst  = imread( "wood.png");
     // Create an all white mask
    Mat src_mask  =  255  * Mat : :ones(src.rows, src.cols, src.depth());
     // The location of the center of the src in the dst
    Point center(dst.cols / 2,dst.rows / 2);
     // Seamlessly clone src into dst and put the results in output
    Mat normal_clone;
    Mat mixed_clone;
    Mat monochrome_clone;
    seamlessClone(src, dst, src_mask, center, normal_clone, NORMAL_CLONE);
    seamlessClone(src, dst, src_mask, center, mixed_clone, MIXED_CLONE);
    seamlessClone(src, dst, src_mask, center, monochrome_clone, MONOCHROME_TRANSFER);
    imshow( "normal_clone",normal_clone);
    imshow( "minxed_clone",mixed_clone);
    imshow( "monochrome_clone",monochrome_clone);
    imshow( "wood",dst);
    imshow( "lovepapa",src);
    waitKey();
     return  0;
}
当然选择这个例子有些讨巧的存在,因为前景为白底红色的文字,这个时候还是比较好进行区分的。同时我还做了一些其他图片的实验。
使用蝴蝶和星空来进行融合



 



目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
目录
相关文章
|
7月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
算法 计算机视觉
数字图像处理OpenCV——实验三 图像分割实验
实验三 图像分割实验 实验项目名称:图像分割实验 (1) 进一步理解图像的阈值分割方法和边缘检测方法的原理。 (2) 掌握图像基本全局阈值方法和最大类间方差法(otsu法)的原理并编程实现。 (3) 编程实现图像的边缘检测。 编程实现图像阈值分割(基本全局阈值方法和otsu法)和边缘检测。 图像的二值化处理图像分割中的一个主要内容,就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。用I表示原图,R表示二值化后的图,则二值化的过程可以用以下公式表示: thr表示选取的阈值。二值化的过
305 0
数字图像处理OpenCV——实验三 图像分割实验
|
Linux API Android开发
Python计算细胞核与细胞质的面积比opencv或pil实验
Python计算细胞核与细胞质的面积比opencv或pil实验
229 0
Python计算细胞核与细胞质的面积比opencv或pil实验
|
算法 计算机视觉
数字图像处理OpenCV——实验四 图像艺术化处理实验
实验四 图像艺术化处理实验 实验项目名称:图像艺术化处理实验 (1) 了解各种图像艺术化处理方法的原理。 (2) 掌握各种艺术化处理方法的实现过程。 编程实现艺术化效果,三类效果中每类至少实现两种。 1.艺术化效果 (1)黑白照片制作 我们通常说的黑白照片并不是数字图像中的二值图,而是灰度图。由彩色图像转化为灰度图像的过程叫做灰度化处理。一般情况下彩色图像每个像素用3个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的灰度图像的灰度值在0~255之间,数值越大,该点越白,即越亮,越小则越黑
277 0
数字图像处理OpenCV——实验四 图像艺术化处理实验
|
机器学习/深度学习 计算机视觉
数字图像处理OpenCV——实验二 图像的空间域增强
实验二 图像的空间域增强 实验项目名称:图像的空间域增强 (1) 进一步理解图像平滑和图像锐化等空间域增强方法的原理。 (2) 了解图像平滑和图像锐化的效果和作用。 (3) 掌握图像模板运算的流程。 1、图像平滑 众所周知,实际获得的图像在形成、传输、接收和处理的过程中,不可避免地存在着外部和内部的噪声干扰。噪声恶化了图像质量,使图像模糊,给分析带来困难。因此,去除噪声,恢复原始图像时图像处理中的一个重要内容。消除图像噪声的工作称之为图像平滑或滤波。 图像平滑方法包括空域法和频域法两大类。在空域法中,图像平
162 0
数字图像处理OpenCV——实验二 图像的空间域增强
|
算法 计算机视觉 索引
数字图像处理OpenCV——实验一 熟悉OpenCV环境和基本操作
实验一 熟悉OpenCV环境和基本操作 熟悉OpenCV运行环境,了解图像的基本操作及直方图均衡化。 利用OpenCV产生一幅图像,尺寸为200*240,三通道,其中某一块为红色,其它皆为黑色,示例图如下。 对一副图像进行直方图均衡化处理。要求自行编写直方图均衡化函数,实现图像灰度均衡的算法步骤如下: (1) 统计直方图数组,用一个数组p记录p[i]; (2) i从1开始,令S[i]=S[i-1]+p[i],S[0]=p[0]; (3) 一个数组L记录新的S索引值,即令L[i]=S[i]*(256-1);
280 0
数字图像处理OpenCV——实验一 熟悉OpenCV环境和基本操作
|
计算机视觉 算法
(4opencv)对OpenCV中“旋转”的思考和实验
​    我记得曾经有人对OpenCV的旋转吐槽,意思是它自己没有很好的关于选择的算法。在新的版本里面添加了这些函数(我还没有时间去看是什么时候pr的)。现在一个比较棘手的问题,就是OpenCV中旋转是如何定量的,什么是正方向?什么是负方向?什么时候用角度?什么时候用弧度? 下面就是针对这几个问题,通过查资料、做实验的方式搞清楚。
1543 0
|
算法 计算机视觉
(6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cnblogs.
1081 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.3、图像缩放resize函数
OpenCV这么简单为啥不学——1.3、图像缩放resize函数
41 0
|
14天前
|
编解码 计算机视觉 Python
opencv 图像金字塔(python)
opencv 图像金字塔(python)