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

怎么去做一个网站网站建设8万属于资产吗

怎么去做一个网站,网站建设8万属于资产吗,某景区网站建设策划书,深圳画册设计品牌目录 蛮力匹配#xff08;ORB匹配#xff09;RANSAC算法全景图像拼接 蛮力匹配#xff08;ORB匹配#xff09; Brute-Force匹配非常简单#xff0c;首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行#xff08;描述符#xff09;距离测试#x… 目录 蛮力匹配ORB匹配RANSAC算法全景图像拼接 蛮力匹配ORB匹配 Brute-Force匹配非常简单首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行描述符距离测试最后返回距离最近的关键点. 对于BF匹配器首先我们必须使用**cv2.BFMatcher()**创建 BFMatcher 对象。它需要两个可选的参数 normType它指定要使用的距离测量,默认情况下它是cv2.NORM_L2它适用于SIFTSURF等cv2.NORM_L1也在那里。对于基于二进制字符串的描述符如ORBBRIEFBRISK等应使用cv2.NORM_HAMMING使用汉明距离作为度量,如果ORB使用WTA_K 3or4则应使用cv2.NORM_HAMMING2。crossCheck默认值为False。如果设置为True匹配条件就会更加严格只有到A中的第i个特征点与B中的第j个特征点距离最近并且B中的第j个特征点到A中的第i个特征点也是最近时才会返回最佳匹配即这两个特征点要互相匹配才行 两个重要的方法是BFMatcher.match和BFMatcher.knnMatch, 第一个返回最佳匹配, 第二种方法返回k个最佳匹配其中k由用户指定. 使用cv2.drawMatches()来绘制匹配的点它会将两幅图像先水平排列然后在最佳匹配的点之间绘制直线。如果前面使用的BFMatcher.knnMatch()现在可以使用函数cv2.drawMatchsKnn为每个关键点和它的个最佳匹配点绘制匹配线。如果要选择性绘制就要给函数传入一个掩模. 一对一匹配 BFMatcher.match import numpy as np import cv2 from matplotlib import pyplot as pltimg1 cv2.imread(./image/girl1.jpg) img2 cv2.imread(./image/girl2.jpg)sift cv2.SIFT_create()# kp代表特征点 des每个点对应特征向量 kp1, des1 sift.detectAndCompute(img1, None) kp2, des2 sift.detectAndCompute(img2, None)bf cv2.BFMatcher(crossCheckTrue) # 可选对象crossCheck# 1对1匹配 matches bf.match(des1, des2) matches sorted(matches, keylambda x: x.distance) # 排序通过距离来度量img3 cv2.drawMatches(img1, kp1, img2, kp2, matches[:30], None, flags2) # matches[:10] 距离前十的给显示出来,即显示十条匹配线cv2.imshow(img, img3) cv2.waitKey(0) cv2.destroyAllWindows()k对最佳匹配 BFMatcher.knnMatch import numpy as np import cv2 from matplotlib import pyplot as pltimg1 cv2.imread(./image/girl1.jpg) img2 cv2.imread(./image/girl2.jpg)sift cv2.SIFT_create()# kp代表特征点 des每个点对应特征向量 kp1, des1 sift.detectAndCompute(img1, None) kp2, des2 sift.detectAndCompute(img2, None)# k对最佳匹配 bf cv2.BFMatcher() matches bf.knnMatch(des1, des2, k2)good [] for m, n in matches:# 过滤方法if m.distance 0.75 * n.distance:good.append([m])img3 cv2.drawMatchesKnn(img1, kp1, img2, kp2, good, None, flags2)cv2.imshow(img, img3) cv2.waitKey(0) cv2.destroyAllWindows()RANSAC算法 蛮力匹配是一种简单而直观的匹配方法适用于小规模的特征点匹配。通过比较所有可能的特征点对找到最佳匹配。而RANSAC算法则通过随机采样和一致性检验从包含噪声的数据中估计出正确的模型参数对于一些存在噪声和异常值的情况RANSAC能够更稳健地估计模型。 利用RANSAC算法计算变换矩阵 RANSAC是RANdom SAmple Consensus随机一致采样的缩写。该方法是用来找到正确模型来拟合带有噪声数据的迭代方法。给定一个模型例如点集之间的单应性矩阵。基本的思想是数据中包含正确的点和噪声点合理的模型应该能够在描述正确数据点的同时摒弃噪声点。 此外还有ORB匹配、SIFT的特征匹配、基于FLANN的匹配器的匹配等等 全景图像拼接 全景图像拼接是将多张图像拼接成一张全景图的任务。在这个过程中特征点匹配和单应性矩阵估计是关键的步骤。你提到的使用SIFT找到特征点并通过单应性矩阵将图像进行变换是一种常见的方法。这样可以在不同视角或位置拍摄的图像中找到对应的特征点从而实现拼接。 通过SIFT找特征点 关于单应性矩阵(H矩阵) 利用两个图像中至少四个特征点能够求解一个单应性矩阵(homography matrix)然后用这个单应性矩阵能够将图像1中的某个坐标变换到图像2中对应的位置。然而矩阵的推导是来自于相机在不同位姿拍摄同一个三维平面所以使用opencv计算单应性矩阵的时候前提是两个图像对应区域必须是同一平面。 当进行全景图像拼接时常常需要使用RANSAC算法估计单应性矩阵。下面是一个简单的示例代码其中包括特征点匹配、RANSAC算法和全景图像拼接的步骤。 import cv2 import numpy as npdef find_keypoints_and_descriptors(image):# 使用SIFT算法找到图像的关键点和描述符sift cv2.SIFT_create()kp, des sift.detectAndCompute(image, None)return kp, desdef match_keypoints(des1, des2):# 使用BFMatcher进行特征点匹配bf cv2.BFMatcher()matches bf.knnMatch(des1, des2, k2)# 使用比值测试排除不好的匹配good []for m, n in matches:if m.distance 0.75 * n.distance:good.append(m)return gooddef ransac_homography(matches, kp1, kp2, reproj_thresh4.0):# 将匹配的关键点转换为numpy数组src_pts np.float32([kp1[m.queryIdx].pt for m in matches]).reshape(-1, 1, 2)dst_pts np.float32([kp2[m.trainIdx].pt for m in matches]).reshape(-1, 1, 2)# 使用RANSAC算法估计单应性矩阵H, mask cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, reproj_thresh)return Hdef stitch_images(image1, image2, H):# 将图像1进行透视变换将其叠加到图像2上rows1, cols1 image1.shape[:2]rows2, cols2 image2.shape[:2]warp_img1 cv2.warpPerspective(image1, H, (cols1 cols2, rows2))warp_img1[:rows2, :cols2] image2return warp_img1if __name__ __main__:# 读取两张图像img1 cv2.imread(image1.jpg)img2 cv2.imread(image2.jpg)# 找到关键点和描述符kp1, des1 find_keypoints_and_descriptors(img1)kp2, des2 find_keypoints_and_descriptors(img2)# 进行特征点匹配matches match_keypoints(des1, des2)# 使用RANSAC估计单应性矩阵H ransac_homography(matches, kp1, kp2)# 进行全景图像拼接result stitch_images(img1, img2, H)# 显示拼接结果cv2.imshow(Panorama, result)cv2.waitKey(0)cv2.destroyAllWindows()为了达到更好的拼接效果可能需要使用更复杂的图像配准和融合技术。
http://www.dnsts.com.cn/news/75922.html

相关文章:

  • 郑州网站设计专家金山石化网站建设
  • 平顶山市湛河区建设局网站宁波网络公司招聘信息
  • 汨罗做网站安徽工程建设发展有限公司
  • 如何做文化传播公司网站网页设计代码html文件怎么查
  • 营销型网站建设应该注意什么购买域名的网站
  • 服装电子商务网站有哪些网站开发培训教程
  • 安全的网站建设服务叫别人做网站安全吗
  • 网站设计风格怎么写wordpress多用户模板
  • wordpress 文章长度上海网站优化上
  • 手机网站html声明网站网页怎么设计
  • iapp如何用网站做软件商城服务是什么软件
  • 如何查网站的icp备案企业官网框架
  • 江苏河海建设有限公司官方网站什么样的网站必须做备案
  • 官网站超链接怎么做泰安网站建设有哪些
  • 简单网站建设流程图长宁免费网站制作
  • 网站开发流程的意义小程序商店大全
  • 加强网站网络安全建设方案小程序自己制作流程
  • 欧美电影免费网站佛山网站建设工作室
  • 天津北京网站建设一个新网站要怎么优化
  • 网站备案资料修改海事网站服务平台
  • 如何做公众号小说网站赚钱wordpress首页慢
  • 做解析视频网站违法莫近期舆情热点话题
  • 如何给网站的关键词做排名app编辑软件
  • 中国新闻社名词解释企业网站搜索优化外包
  • 在猪八戒做网站有保障吗软件开发工程师任职要求
  • 深圳电子商务网站建设电脑编程软件
  • 具有口碑的柳州网站建设价格做网站的技术风险
  • 自适应网站建设案例网络营销策划方案的结构
  • 怎么查看网站是否被收录wordpress同步微博
  • 做催收的网站创建网站基本流程