资源简介
图像处理-图片找不同Find the differences of the two images #Matlab下调用Python接口#SIFT算法应用 博客链接: https://blog.csdn.net/qq_34243930/article/details/85316240
代码片段和文件信息
import numpy as np
import cv2
def sift_kp(image):
gray_image = cv2.cvtColor(image cv2.COLOR_BGR2GRAY) # 颜色空间转换
sift = cv2.xfeatures2d_SIFT.create()
kps des = sift.detectAndCompute(image None)
kp_image = cv2.drawKeypoints(gray_image kps None) # 绘制关键点的函数
return kp_imagekpsdes
def get_good_match(des1 des2):
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1 des2 k=2)
good = []
for m n in matches:
if m.distance < 0.75 * n.distance:
good.append(m)
return good
def siftImageAlignment(img1 img2):
_ kp1 des1 = sift_kp(img1)
_ kp2 des2 = sift_kp(img2)
goodMatch = get_good_match(des1 des2)
if len(goodMatch) > 4:
ptsA= np.float32([kp1[m.queryIdx].pt for m in goodMatch]).reshape(-1 1 2)
ptsB = np.float32([kp2[m.trainIdx].pt for m in goodMatch]).reshape(-1 1 2)
ransacReprojThreshold = 2
H status =cv2.findHomography(ptsA ptsB cv2.RANSAC ransacReprojThreshold);
imgOut = cv2.warpPerspective(img2 H (img1.shape[1]img1.shape[0])flags=cv2.INTER_LINEAR + cv2.WARP_INVERSE_MAP)
return imgOut H status
def siftResult(num):
img1 = cv2.imread(‘%s-1.jpg‘ % num)
img2 = cv2.imread(‘%s-2.jpg‘ % num)
result__ = siftImageAlignment(img1img2)
# wh_ = img1.shape
# img2 = cv2.resize(img2(hw))
# print(‘img1:‘img1.shape)
# print(‘img2:‘img2.shape)
# allImg = np.concatenate((img1img2result)axis=1)
# cv2.namedWindow(‘Result‘cv2.WINDOW_NORMAL)
# cv2.imshow(‘Result‘allImg)
cv2.imwrite(‘result.jpg‘ result)
cv2.waitKey(0)
siftResult(‘4‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1719 2018-12-23 20:23 find_differences要求及源代码\cvsift.py
文件 1306 1999-11-12 13:19 find_differences要求及源代码\Final Project\butterfly.gif
文件 6462976 2018-12-27 23:08 find_differences要求及源代码\Final Project\Final project.ppt
文件 64930 2018-12-12 20:01 find_differences要求及源代码\Final Project\test2-1.jpg
文件 73861 2018-12-13 18:26 find_differences要求及源代码\Final Project\test2-2.jpg
文件 146086 2018-12-13 10:29 find_differences要求及源代码\Final Project\timg-1.1.jpg
文件 147725 2018-12-13 09:38 find_differences要求及源代码\Final Project\timg-2.2.jpg
文件 108559 2018-12-12 19:56 find_differences要求及源代码\Final Project\timg2-1.jpg
文件 115671 2018-12-13 18:42 find_differences要求及源代码\Final Project\timg2-2.jpg
文件 84459 2018-12-13 18:45 find_differences要求及源代码\Final Project\timgKT-1.jpg
文件 98614 2018-12-13 18:52 find_differences要求及源代码\Final Project\timgKT-2.jpg
文件 2556 2018-12-23 21:50 find_differences要求及源代码\find_differences.m
文件 2215 2018-12-23 21:49 find_differences要求及源代码\mark_butterfly.m
目录 0 2018-12-27 23:08 find_differences要求及源代码\Final Project
目录 0 2018-12-28 00:33 find_differences要求及源代码
----------- --------- ---------- ----- ----
7310677 15
相关资源
- OpenCV-Python中文教程
- tensorflow-1.9.0-cp37-cp37m-win_amd64.whl
- Python实现跟踪、光流、前景检测
- (一)python爬虫验证码识别去除干扰
- 计算机/数字图像处理专业本科毕设—
- opencv3机器视觉python语言实现.zip
- PCI Geomatica 遥感图像处理软件 使用教
- OpenCV 3计算机视觉:Python语言实现——
- python图像处理相机姿态估计
- 机器学习-使用OpenCV和Python进行智能图
- python实现两张图片融合
- ALL_demos.rar贾老师python-OpenCV源码
- 批量图片随机裁剪,翻转,颠倒--图片
- python 实现图片像素大小设置
- 图片的旋转方法算法以及双线性插值
- 区域生长 python版 dicom图像
- 基于GDAL的Python实现遥感影像PCA的代码
- python图像处理三维重建所有代码
- Python 产生任意形状的封闭图形,并将
- 《OpenCV视觉之眼》专栏图像处理总体
- python图像处理.rar
- python 利用OpenCV 图像黑白化
- 图像处理python
- Python二十多种常用图像处理方法集成
- 数字图像处理Python制作简易软件系统
- 使用Python进行图像处理
- python opencv 图片去噪
- Practical Computer Vision Applications Using D
- 基于opencv和tkinter的图像处理GUI-源代码
- Python OpenCV 图像处理基础-.zip
评论
共有 条评论