OpenCV计算摄影学(17)两个图像之间执行无缝克隆操纵函数 seamlessClone() ...

打印 上一主题 下一主题

主题 1010|帖子 1010|积分 3030


  • 操纵系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11
算法描述

图像编辑任务涉及全局更改(如颜色/强度校正、滤镜应用、变形)或针对选定区域的局部更改。在这里,我们关注的是实现局部更改,即那些限制在手动选择的区域(ROI)内的更改,而且是以无缝且 effortless(轻松的,不费力的)方式进行的。更改的程度从轻微的扭曲到由全新内容完全替换不等。
cv::seamlessClone 是 OpenCV 库中用于图像处理的一个函数,它可以在两个图像之间执行无缝克隆操纵。这种技术通常用于将一个图像的一部分(源图像)无缝地复制到另一个图像(目的图像)的指定位置上。
函数原型

  1. oid cv::seamlessClone        
  2. (
  3.         InputArray          src,
  4.         InputArray          dst,
  5.         InputArray          mask,
  6.         Point          p,
  7.         OutputArray          blend,
  8.         int          flags
  9. )                
复制代码
参数



  • 参数src 输入8位3通道图像。
  • 参数 dst 输入8位3通道图像。
  • 参数 mask 输入8位1或3通道图像。
  • 参数 p 目的图像dst中放置对象的点。
  • 参数 blend 输出图像,与dst具有类似的大小和类型。
  • 参数 flags 克隆方法,可以是cv::NORMAL_CLONE、cv::MIXED_CLONE或cv::MONOCHROME_TRANSFER。
代码示例

  1. #include <iostream>
  2. #include <opencv2/opencv.hpp>
  3. using namespace cv;
  4. using namespace std;
  5. int main()
  6. {
  7.     // 读取源图像和目标图像
  8.     Mat src = imread( "/media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg" );
  9.     Mat dst = imread( "/media/dingxin/data/study/OpenCV/sources/images/mask.png" );
  10.     if ( src.empty() || dst.empty() )
  11.     {
  12.         cout << "图像加载失败,请检查图像路径是否正确。\n";
  13.         return -1;
  14.     }
  15.     // 创建掩模,大小与源图像相同,类型为CV_8UC1
  16.     Mat mask = Mat::ones( src.size(), CV_8UC1 ) * 255;
  17.     // 定义在目标图像中的位置点p(即源图像中心放置的位置)
  18.     Point p( dst.cols / 2, dst.rows / 2 );
  19.     // 输出图像
  20.     Mat blend;
  21.     // 执行无缝克隆
  22.     seamlessClone( src, dst, mask, p, blend, NORMAL_CLONE );
  23.     // 显示结果
  24.     imshow( "Source Image", src );
  25.     imshow( "Destination Image", dst );
  26.     imshow( "Blended Image", blend );
  27.     waitKey( 0 );
  28.     return 0;
  29. }
复制代码
运行结果




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

慢吞云雾缓吐愁

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表