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

织梦网站做中英文双语言版本电商网站建设包括哪些内容

织梦网站做中英文双语言版本,电商网站建设包括哪些内容,公司网站开发费用计入什么科目,网络推广理论做网站好不好个人理解为将一幅不规则的图形,通过最轮廓发现,最大轮廓匹配来确定图像的位置,再通过pt将不规则的图像放在规定的矩形里面,在通过透视变换将不规则的图形放进规则的图像中。 1. findHomography 函数 • Mat h findHomography(s…

个人理解为将一幅不规则的图形,通过最轮廓发现,最大轮廓匹配来确定图像的位置,再通过pt将不规则的图像放在规定的矩形里面,在通过透视变换将不规则的图形放进规则的图像中。

1. findHomography 函数

• Mat h = findHomography(srcPts, dstPts, RANSAC);

• 功能:该函数用于计算从源点集 srcPts 到目标点集 dstPts 的单应性矩阵 h。单应性矩阵描述了两个平面之间的投影变换关系。

• 参数:

• srcPts:源图像中的点集,是一个 std::vector<cv::Point2f> 类型的向量,包含至少4个点。这些点在源图像平面上定义了一个区域。

• dstPts:目标图像中的对应点集,同样是 std::vector<cv::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);

    vector<vector<Point>> contours;
    vector<Vec4i> 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;
    vector<Point2f> srcPts;
    approxPolyDP(contours[index], approxCurves, 100, true);
    for (int i = 0; i < approxCurves.rows; i++) {
        Vec2i  pt = approxCurves.at<Vec2i>(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);
    }
    vector<Point2f> 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.yayakq.cn/news/893873/

相关文章:

  • 深圳住房和建设局网站公开招标gzip压缩 wordpress
  • 微信网站开发合同网站图片加载优化
  • 揭阳模板建站开发公司教育推广
  • 莞城建设网站制作网站合同需注意
  • 检察网站建设请示时尚类网站设计公司
  • 精简网站模板广告设计模板素材图片
  • 网站建站专家个人做网站手机获取验证码
  • 阿里巴巴做网站的wordpress怎么进入编辑模式
  • 兰州网站建设哪里好安全文化建设方案细则
  • 仙桃有哪些做网站的公司南京网站建设公司 雷仁网络
  • 搭建网站的免费程序网站seo专员
  • 广水住房和城乡建设部网站广州网站建设网页设计
  • 电商平台法律法规东莞网络排名优化
  • 做网站的空间是什么手机h5网站模板下载
  • 网站建设管理专员下载百度语音导航地图
  • 建微信网站模板网站建设空间多大
  • 大寺网站建设公司紫砂壶网站开发与设计报告论文
  • 怎么修改网站内容代写
  • 博客网站推荐网站生成手机端
  • 云南中建西部建设有限公司网站cms建站程序哪个好
  • 写作挣钱的网站静态网站策划书
  • 做网站不会P图怎么办怎么建设游网站主页
  • 银川做网站多少钱wordpress mould
  • 网站开发背景和意义韩国做 mp4下载网站
  • 网站内页要不要加上关键词和描述大连建设工程有限公司
  • 办公空间设计平面图seo策略工具
  • 做废旧哪个网站好陕西网站制作
  • 做神马网站优化排名如东网站开发
  • 建一个外贸网站多少钱德州网站建设推广价格
  • 怎样做google网站虚拟主机如何安装WordPress