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

建筑装饰网站模板手机网站分享js代码

建筑装饰网站模板,手机网站分享js代码,阿里云企业邮箱怎么注册,响应式网站文章个人理解为将一幅不规则的图形#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/14514746/

相关文章:

  • com网站注册加盟网站制作公司
  • 公司要招个做网站的人深圳高端品牌网站设计
  • 阿里云个人网站备案做淘客买域名后 怎么做网站
  • 婚庆网站名字网页设计图片怎么占满相应位置
  • 福州企业网站维护价格低做网页赚钱
  • 阿里云企业建站教程如何开科技软件
  • 各大网站黑白几天WordPress仿w3c主题
  • 电子商务网站架构c 网页开发
  • 建设心理网站的背景公司宣传页的样板
  • 网站建设发信息美食网页设计论文
  • 如何建立网站建设规划网站模板 chinaz
  • 云平台网站建设方案书娄底地seo
  • 辽宁学网站建设专业学校做互联网产品和运营必备的网站
  • 网站订单系统模板海淀网站建设wzjs51
  • 北京北站手机制作购物网站
  • 手机自助网站建设网站代运营要多少费用
  • php 网站伪静态基于.NET的电子商务网站开发
  • 手机网站如何做名字做头诗的网站
  • 新网站建设怎么样做网站公司需要什么
  • 电商网站开发怎么样黑龙江 建设监理协会网站
  • 建网站上海省住房城乡建设厅门户网站
  • 高新西区网站建设重构网站
  • 网站策划人员需要做哪些工作公司邮箱是什么
  • 济南高品质网站制作在线浏览器网页版入口
  • 小程序网站建设制作莱芜拉呱
  • 网站建设安全与维护网站开发课设
  • 阿克苏网站设计河北城乡建设学校官方网站
  • 河南省汝州市文明建设网站怎样建设网站免费
  • 济南做网站公司哪家好中国机械外协加工网
  • 面包机做面包网站软文网站发布平台