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

企业网站建设方案教程建筑装饰网站模板

企业网站建设方案教程,建筑装饰网站模板,网站免费空间哪里申请,页面正在跳转 3秒后自动个人理解为将一幅不规则的图形#xff0c;通过最轮廓发现#xff0c;最大轮廓匹配来确定图像的位置#xff0c;再通过pt将不规则的图像放在规定的矩形里面#xff0c;在通过透视变换将不规则的图形放进规则的图像中。 1. findHomography 函数 • Mat h findHomography(s…个人理解为将一幅不规则的图形通过最轮廓发现最大轮廓匹配来确定图像的位置再通过pt将不规则的图像放在规定的矩形里面在通过透视变换将不规则的图形放进规则的图像中。 1. findHomography 函数 • Mat h findHomography(srcPts, dstPts, RANSAC); • 功能该函数用于计算从源点集 srcPts 到目标点集 dstPts 的单应性矩阵 h。单应性矩阵描述了两个平面之间的投影变换关系。 • 参数 • srcPts源图像中的点集是一个 std::vectorcv::Point2f 类型的向量包含至少4个点。这些点在源图像平面上定义了一个区域。 • dstPts目标图像中的对应点集同样是 std::vectorcv::Point2f 类型与 srcPts 中的点一一对应。它定义了源图像区域要映射到的目标图像区域。 • RANSAC这是一种稳健的估计方法称为随机抽样一致算法Random Sample Consensus。使用 RANSAC 时函数会通过多次随机抽样来估计单应性矩阵并排除可能的误匹配点从而得到更准确可靠的单应性矩阵。 • 返回值返回一个 cv::Mat 类型的单应性矩阵 h它是一个 3x3 的矩阵用于后续的透视变换。如果无法找到合适的单应性矩阵例如点集数量不足或匹配质量太差返回的矩阵将是一个空矩阵。 2. warpPerspective 函数 • warpPerspective(image, dst, h, Size(600, 800)); • 功能根据给定的单应性矩阵 h 对输入图像 image 进行透视变换并将结果存储在 dst 中。透视变换可以将图像从一个平面投影到另一个平面常用于纠正图像的透视畸变、图像拼接等任务。 • 参数 • image输入的源图像是一个 cv::Mat 类型的对象。 • dst输出的目标图像也是 cv::Mat 类型。在调用函数前不需要对其进行初始化函数会根据变换结果自动分配内存。 • h前面通过 findHomography 函数计算得到的单应性矩阵它决定了图像如何进行透视变换。 • Size(600, 800)指定输出图像 dst 的大小这里宽为600像素高为800像素。变换后的图像会被调整到这个尺寸。 这两行代码在图像变换处理中是非常关键的步骤先计算单应性矩阵再基于此矩阵对图像进行透视变换从而实现将源图像的特定区域映射到目标图像的指定区域。 #include opencv2/opencv.hpp #include iostream using namespace cv; using namespace std; int main(int argc, char** argv) {     // Mat image imread(D:/images/butterfly.jpg);     Mat image imread(C:/newword/image/31.jpg);         Mat gray, binary;     cvtColor(image, gray, COLOR_BGR2GRAY);     threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_OTSU); vectorvectorPoint contours;     vectorVec4i hierachy;     findContours(binary, contours, hierachy, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);     int index -1;     double max -1;     for (int i 0; i contours.size(); i) {         double area contourArea(contours[i]);         if (area max) {             max area;             index i;         }     }     drawContours(image, contours, index, Scalar(0, 255, 0), 2, 8); Mat approxCurves;     vectorPoint2f srcPts;     approxPolyDP(contours[index], approxCurves, 100, true);     for (int i 0; i approxCurves.rows; i) {         Vec2i  pt approxCurves.atVec2i(i, 0);//0代表着索引值访问坐标         std::cout pt std::endl;         srcPts.push_back(Point2f(pt[0], pt[1]));         circle(image, Point(pt[0], pt[1]), 12, Scalar(0, 0, 255), 2, 8, 0);     }     vectorPoint2f dstPts;     dstPts.push_back(Point2f(0, 0));     dstPts.push_back(Point2f(0, 800));     dstPts.push_back(Point2f(600, 800));     dstPts.push_back(Point2f(600, 0));     imshow(轮廓, image);     imwrite(C:/newword/result_c1c.png, image); Mat h findHomography(srcPts, dstPts, RANSAC);     Mat dst;     warpPerspective(image, dst, h, Size(600, 800));     imwrite(C:/newword/dst.p1ng, dst);     waitKey(0);     return 0; }
http://www.hkea.cn/news/14270261/

相关文章:

  • 回收类型网站如何做长春网络公司查找垚鑫科技
  • 酒店都不建网站吗物流网站制作怎么做
  • 典型的电子商务网站蚌埠网站建设公司
  • 网站开发需要的人员如何制作ppt视频教程
  • 网页设计基础只是株洲sem优化哪家好
  • 如何使用微信公众号做网站餐饮品牌设计包括哪些
  • 做网站哪个地方需要钱哈尔滨网站建设哪家好
  • 手机管理网站模板下载软件有限公司与有限责任公司的区别
  • 咸宁网站设计制作wordpress获取文章的标签
  • 广州建网站加备案口碑好的合肥网站建设
  • 做软件开发视频网站汽车案例网站
  • 自助网站建设方案门户网站开发要多少钱
  • 软件开发步骤包括哪些郑州网站建设专注乐云seo
  • 免费建设小说网站网页无法访问游戏
  • 坑梓网站建设怎么样视频背景网站
  • 徐州市城乡和城乡建设厅网站免费app制作网站
  • 搜网站旧域名一个网站有个前端后端怎么做
  • 县区工会网站建设方案绍兴免费做网站
  • 批量做网站网站站群优化
  • 软件代做网站在哪找活旅游 网站开发的项目描述
  • 做美食类网站分析海尔集团网站的网络营销是什么
  • 网站建设常用软件网页网站开发
  • 有没有做美食的小视频网站深圳龙华区民治街道
  • 网站jsp充值和体现系统怎么做宁波做网站优化公司
  • 黑龙江两学一做网站汕头潮南区
  • 未来的网站建设想法专业网站推广公司
  • 龙游做网站网络平台都有哪些
  • 一站式网页设计服务平台海口网站制作网站
  • 晋源网站建设微信微商城平台
  • 青岛网站建设大全纪检监察网站建设方案