当前位置: 首页 > wzjs >正文

妇科医院网站优化服务商长春网站快速优化排名

妇科医院网站优化服务商,长春网站快速优化排名,郑州富士康最新招聘,济南正规做网站公司操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::detail::FeatherBlender 是 OpenCV 中用于图像拼接的一个类,它属于 stitching 模块的一部分。这个类实现了基于羽化(…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::detail::FeatherBlender 是 OpenCV 中用于图像拼接的一个类,它属于 stitching 模块的一部分。这个类实现了基于羽化(feathering)技术的图像融合算法,用于平滑地混合重叠区域中的图像,从而生成无缝的全景图。

主要特点

  • 羽化技术:通过在图像的重叠部分应用加权平均来实现平滑过渡,权重通常是根据距离边缘的距离来确定的。
  • 简单且高效:适用于大多数基本的图像拼接需求,尽管可能不如一些更复杂的缝合方法(如基于图割的缝合器)那样精确,但它的计算效率更高。

成员函数

  • 构造函数
    FeatherBlender(double sharpness = 0.01): 构造函数允许指定羽化的锐度(sharpness),默认值为0.01。锐度参数影响羽化效果的平滑程度,较小的值产生更广泛的羽化。

  • setSharpness
    void setSharpness(double sharpness): 设置羽化的锐度。较高的锐度值会导致较窄的羽化区域,反之亦然。

  • prepare
    void prepare(const std::vector &corners, const std::vector &sizes): 根据输入图像的角点位置和尺寸准备羽化混合器。这个函数通常在开始拼接过程前调用,以便确定如何处理每个图像的重叠区域。

  • apply
    void apply(int idx, const Mat &img, const Mat &mask, Mat &result_mask): 将指定索引的图像应用到结果中,并根据当前设置的羽化参数进行混合。idx 表示要应用的图像的索引,img 是该图像,mask 是对应的掩码,而 result_mask 是输出结果的掩码。

  • blend
    void blend(const std::vector &src, const std::vector &masks, Mat &dst): 执行最终的图像混合操作。src 包含所有待拼接的源图像,masks 包含对应于每张源图像的掩码,dst 是输出的拼接后的图像。

代码示例

#include <opencv2/opencv.hpp>
#include <opencv2/stitching.hpp>int main() {// 加载图像std::vector<cv::Mat> imgs;imgs.push_back(cv::imread("/media/dingxin/data/study/OpenCV/sources/images/stich1.png"));imgs.push_back(cv::imread("/media/dingxin/data/study/OpenCV/sources/images/stich2.png"));if (imgs[0].empty() || imgs[1].empty()) {std::cerr << "Error loading images!" << std::endl;return -1;}// 创建并配置 FeatherBlenderdouble feather_width = 5; // 羽化宽度cv::Ptr<cv::detail::FeatherBlender> blender = cv::makePtr<cv::detail::FeatherBlender>(feather_width);// 创建拼接器,并设置为使用 FeatherBlendercv::Ptr<cv::Stitcher> stitcher = cv::Stitcher::create(cv::Stitcher::PANORAMA);stitcher->setBlender(blender);// 执行拼接cv::Mat pano;cv::Stitcher::Status status = stitcher->stitch(imgs, pano);if (status != cv::Stitcher::OK) {std::cerr << "Can't stitch images, error code = " << int(status) << std::endl;return -1;}// 显示结果cv::imshow("原始图1", imgs[0]);cv::imshow("原始图2", imgs[1]);cv::imshow("Panorama", pano);cv::waitKey(0);return 0;
}

运行结果

在这里插入图片描述

在这里插入图片描述
拼接的相当完美,(o)/

http://www.dtcms.com/wzjs/252031.html

相关文章:

  • 大连个人网站开发制作百度浏览器手机版
  • 网站制作容易吗怎么做app推广
  • 自建免费网站google推广公司
  • 南京学习网站建设关键词收录
  • 网站怎么做快照东莞网络营销公司
  • 搜狗站长工具plc培训机构哪家最好
  • 网站建设 电话2022年最火文案
  • spark怎么做网站数据库网店推广的作用是
  • 最好的网站建设机构seocui cn
  • 清丰网站建设电话快排seo
  • 纪检监察网站建设背景网络营销策划书怎么写
  • 网站推广服务具体内容包括哪些真正免费的网站建站
  • 温州网页制作南京seo排名
  • 质量好网站建设商家app001推广平台
  • 网站建设免征增值税吗深圳seo优化公司
  • 做海外正品代购的十个网站百度引流平台
  • 辛集做网站今天国内新闻
  • 企业门户网站数据库设计怎么做线上销售
  • 网上购物网站开发苏州企业网站关键词优化
  • 广州冼村人很有钱吗seo程序
  • 电子商务网站建设课程的心得google秒收录方法
  • 兴县做网站公司长沙百度网站推广优化
  • 2018网站做外链企业建站公司热线电话
  • 网站开发税率是多少深圳关键词优化平台
  • 郑口住房和城乡建设局网站深圳推广公司
  • 怎样做卡盟网站seo黑帽有哪些技术
  • 企业网站包含内容网上广告怎么推广
  • wordpress 导航图片seo门户
  • 零食天堂 专做零食推荐的网站铜川网站seo
  • 盐城网站建设制作工作室百度关键词搜索排名代发