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

牛商网做的网站怎么样流量精灵网页版

牛商网做的网站怎么样,流量精灵网页版,商城在线,东营网站建设价格研究目的 最近在做无人机遥感红外和可见光双路数据配准,由于红外相机视野范围较小,因此配准的目的主要是在可见光的视野范围内,裁剪出红外图像对应的部分,同时,保持可见光的高分辨率不变。 本文思路 本文尝试使用Ca…

研究目的

最近在做无人机遥感红外和可见光双路数据配准,由于红外相机视野范围较小,因此配准的目的主要是在可见光的视野范围内,裁剪出红外图像对应的部分,同时,保持可见光的高分辨率不变。

本文思路

本文尝试使用Canny边缘检测提取红外和可见光的边缘特征,然后使用模板匹配的方式去进行配准。由于红外图像和可见光图像的分辨率并不相同,因此需要对可见光不断进行下采样,以接近红外图像的分辨率。

总体看来,使用传统方法做跨模态配准效果有限,主要是由于红外图像特征较少,不过在光照充足和建筑特征明显的情况下,有一定效果,后续会采用基于深度学习的配准方法,相关图片由于项目原因不对外公布,这里对代码进行归档。

实验代码

import numpy as np
import argparse
import cv2
import osif __name__ == '__main__':ap = argparse.ArgumentParser()ap.add_argument("-i", "--image", required=False, default=r"lr/Infrared.jpg", help="红外图像路径")ap.add_argument("-v", "--visualize", required=False, default=r"rgb/Zoom.jpg", help="可见光图像路径")ap.add_argument("-o", "--output", required=False, default=r"output", help="输出文件夹路径")args = vars(ap.parse_args())# 读取红外图像/灰度化/边缘检测template = cv2.imread(args["image"])template = cv2.cvtColor(template, cv2.COLOR_BGR2GRAY)template = cv2.Canny(template, 50, 200)(tH, tW) = template.shape[:2]# 读取可见光图像image = cv2.imread(args["visualize"])# image = cv2.resize(image, (tW, tH))gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)found = Nonefor scale in np.linspace(0.2, 1.0, 20)[::-1]:# 多尺度缩小可见光图像resized = cv2.resize(gray, (int(gray.shape[1] * scale), int(gray.shape[0] * scale)))r = gray.shape[1] / float(resized.shape[1])# 若缩小的尺度小于红外图像尺寸,跳出循环if resized.shape[0] < tH or resized.shape[1] < tW:break# 对缩小之后的图像进行边缘检测edged = cv2.Canny(resized, 50, 200)'''cv2.matchTemplate  模板匹配:param 检测图像 模板 模板匹配方法:returns 相似度结果矩阵:(宽: image.shape[1]-template.shape[1]+1; 高:image.shape[0]-template.shape[0]+1)'''result = cv2.matchTemplate(edged, template, cv2.TM_CCOEFF)# print("edged_shape:{}".format(edged.shape))  # (3888, 5184)# print("template_shape:{}".format(template.shape))  # (512, 640)# print("result_shape:{}".format(result.shape))  # (3377, 4545)# 查找模板中最大相似度值和位置_, maxVal, _, maxLoc = cv2.minMaxLoc(result)# 可选:查看匹配图范围# clone = np.dstack([edged, edged, edged])# clone = edged# cv2.rectangle(clone, (maxLoc[0], maxLoc[1]), (maxLoc[0] + tW, maxLoc[1] + tH), (0, 0, 255), 2)# cv2.imwrite(os.path.join(args["output"], "Visualize", "visualize.jpg"), clone)# 若在裁剪区域找到相似度更高的匹配点,更新foundif found is None or maxVal > found[0]:found = (maxVal, maxLoc, r)# 得到匹配度最高的矩阵框坐标_, maxLoc, r = found(startX, startY) = (int(maxLoc[0] * r), int(maxLoc[1] * r))(endX, endY) = (int((maxLoc[0] + tW) * r), int((maxLoc[1] + tH) * r))# cv2.rectangle(image, (startX, startY), (endX, endY), (0, 0, 255), 2)crop_img = image[startY:endY, startX:endX]# cv2.imshow("Image", image)# cv2.imshow("Crop Image", crop_img)# cv2.waitKey(0)thermal_image = cv2.imread(args["image"], cv2.IMREAD_COLOR)# cropping out the matched part of the thermal imagecrop_img = cv2.resize(crop_img, (thermal_image.shape[1], thermal_image.shape[0]))# 创建输出文件夹存储裁剪后的可见光影像if not os.path.exists(os.path.join(args["output"], "process")):os.mkdir(os.path.join(args["output"], "process"))# 保存图片cv2.imwrite(os.path.join(args["output"], "process", os.path.basename(args["visualize"])), crop_img)# 创建对比图像final = np.concatenate((crop_img, thermal_image), axis=1)if not os.path.exists(os.path.join(args["output"], "results")):os.mkdir(os.path.join(args["output"], "results"))cv2.imwrite(os.path.join(args["output"], "results", os.path.basename(args["visualize"])), final)
http://www.hkea.cn/news/224772/

相关文章:

  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台
  • 东莞做网站卓诚网络昆明长尾词seo怎么优化
  • WordPress个性萌化插件郑州seo优化哪家好
  • 专业手机移动网站建设免费的seo优化
  • 西安网站建设王永杰域名注册 万网
  • 网站营销优化方案北京做的好的seo公司
  • 企业网站排名提升软件优化南宁seo优化
  • 创意合肥网站建设杭州seo公司排名
  • 网站专题页是什么中国十大关键词
  • 五月天做网站网络策划与营销
  • 高校网站如何建设论文谷歌官网下载
  • 做网站内容软件个人网站怎么做
  • 收废铁的做网站有优点吗海南百度推广开户
  • wordpress 二维码插件下载信阳搜索引擎优化
  • 个人网站二级域名做淘宝客企业推广策略
  • 厦门做网站seo的seo服务公司招聘
  • 安徽池州做企业网站百度搜索官方网站
  • 芜湖商城网站建设青岛百度快速优化排名
  • 我找伟宏篷布我做的事ko家的网站seoul怎么读
  • 即墨做网站优书网首页