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

长沙可以做网站的公司樱桃bt官网

长沙可以做网站的公司,樱桃bt官网,网页显示站点不安全,响应式网站排名OpenCV计算机视觉开发实践:基于Qt C - 商品搜索 - 京东 图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像上的每一个点都可以在原图像中找到对应的点。我们知道,图像是由像素组成的,而像素的…

OpenCV计算机视觉开发实践:基于Qt C++ - 商品搜索 - 京东

图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像上的每一个点都可以在原图像中找到对应的点。我们知道,图像是由像素组成的,而像素的集合就相当于一个二维矩阵,每一个像素都有一个“位置”,也就是像素都有一个坐标。假设原来的像素的坐标为(x0,y0),经过平移量(Dx, Dy)后,坐标变为(x1,y1),用数学式子可以表示为:

x1 = x0 +Dx

y1 = y0 +Dy

平移变换分为两种:一种是图像大小不改变,这样原图像中会有一部分不在平移后的图像中;另一种是图像大小改变,这样可以保全原图像的内容。

【例7.1】实现图像平移

   打开Qt Creator,新建一个控制台工程,工程名是test。

   在工程中打开main.cpp,输入如下代码:

#include <iostream>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <iostream>// 平移操作,图像大小不变
cv::Mat imageTranslation1(cv::Mat & srcImage, int x0ffset, int y0ffset)
{int nRows = srcImage.rows;int nCols = srcImage.cols;cv::Mat resultImage(srcImage.size(), srcImage.type());// 遍历图像for (int i = 0; i < nRows; i++){for (int j = 0; j < nCols; j++){// 映射变换int x = j - x0ffset;int y = i - y0ffset;// 边界判断if (x >= 0 && y >= 0 && x < nCols && y < nRows){// 把y行x列的srcImage上的图像元素值复制到目标图像(i, j)位置上resultImage.at<cv::Vec3b>(i, j) = srcImage.ptr<cv::Vec3b>(y)[x];	}}}return resultImage;
}
// 平移操作,图像大小改变
cv::Mat imageTranslation2(cv::Mat & srcImage, int x0ffset, int y0ffset)
{// 设置平移尺寸// 这里先对目标图像的行进行扩展,扩展到原来图像的行列范围,再加上偏移量绝对值int nRows = srcImage.rows + abs(y0ffset);	int nCols = srcImage.cols + abs(x0ffset);cv::Mat resultImage(nRows, nCols, srcImage.type());// 图像遍历for (int i = 0; i < nRows; i++){for (int j = 0; j < nCols; j++){int x = j - x0ffset;int y = i - y0ffset;// 边界判断if (x >= 0 && y >= 0 && x < nCols && y < nRows){resultImage.at<cv::Vec3b>(i, j) = srcImage.ptr<cv::Vec3b>(y)[x]; }}}return resultImage;
}int main()
{// 读取图像cv::Mat srcImage = cv::imread("img7.jpg");if (srcImage.empty()){return -1;}// 显示原图像cv::imshow("src", srcImage);int x0ffset = 50;int y0ffset = 80;// 图像左平移不改变大小(相对于原图像,目标图像左移了)cv::Mat resultImage1 = imageTranslation1(srcImage, x0ffset, y0ffset);cv::imshow("resultImage1", resultImage1);// 图像左平移改变大小cv::Mat resultImage2 = imageTranslation2(srcImage, x0ffset, y0ffset);cv::imshow("resultImage2", resultImage2);// 图像右平移不改变大小x0ffset = -50;y0ffset = -80;cv::Mat resultImage3 = imageTranslation1(srcImage, x0ffset, y0ffset);cv::imshow("resultImage3", resultImage3);cv::waitKey(0);return 0;
}

注意映射变换,比如加入offset=2后,目标图像的j=10位置的元素值对应原图像的j=8位置的元素值。原图像(0,0)放到目标图像(xOffset,yOffset)。另外,Vec3b是一种图像像素值的类型。

   保存工程并运行,结果如图7-1所示。

图7-1

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

相关文章:

  • 做网站什么最重要百度推广视频
  • 肇庆制作网站软件游戏优化大师手机版
  • 做维修家具广告在哪个网站好百度竞价app
  • 厦门最新通告二级域名和一级域名优化难度
  • 学院实验室建设网站的好处沧州网络推广公司
  • 怎么建立一个网站广告2021最近比较火的营销事件
  • 多种语言网站建设2021年新闻摘抄
  • 张家界企业网站制作怎么申请自己的域名
  • app登录wordpress结构优化
  • 类似17做网店的网站百度竞价防软件点击软件
  • 网站制作报价明细表建一个网站大概需要多少钱
  • 网站如何做水晶按钮游戏推广代理平台
  • 电子商务网站开发实训体会广州seo公司推荐
  • 男女做那个网站动态图片嘉兴seo外包服务商
  • 网站建设中图片电话百度升级最新版本
  • 驻马店网站开发公司软文推广平台排名
  • 广州建设网站专家平谷头条新闻
  • 室内设计网站平台seo营销专员
  • 成都网站建设优点营销策划书案例
  • 学做网站需要多少钱长沙seo智优营家
  • 手机上如何做微电影网站网站优化建议怎么写
  • 二手网站建设论文答辩百度推广时间段在哪里设置
  • 做网站推广公司潍坊seo排名
  • 东莞网站建设是什么意思网站推广的优化
  • 网络优化网站建设长沙seo免费诊断
  • 中国建设银行网站股份结构变化常宁seo外包
  • 北京企业做网站费用seo交流网
  • 广告公司手机网站建设seo技术 快速网站排名
  • 营销型企业网站建设 广义的空间大数据网站
  • 微网站可以做商城吗企业网站建设需要多少钱