时间:2021-05-22
在项目开发的过程中,经常会遇到要查看图像细节的问题,这时候我们通常会,滚动滑轮将图像放大,或者使用电脑内置的放大器功能进行查看,如下图所示,是我使用Altium Designer软件的高清晰图像导航功能查看PCB细节的效果:
那么作为一位程序员,是否可以做到这点呢?
当然可以,Python在手,天下我有~
1、导入图像功能
导入图像功能是基于Windows命令窗口实现的,用户在命令窗口调用Python文件即可导入图像信息,输入指令及效果如下所示:
实现代码如下所示:
if len(sys.argv) > 1: #根据控制台输入的图像,进行导入 fn = cv.samples.findFile(sys.argv[1]) print('loading %s ...' % fn) img = cv.imread(fn) if img is None: print('Failed to load fn:', fn) sys.exit(1)2、图像降采样功能
将导入的图像进行降采样,形成一个缩小的整体效果图,方便和超分辨率放大的图像进行对比观察,效果如下所示:
实现代码如下所示:
small = imgfor _i in range(3): #图像降采样 small = cv.pyrDown(small)3、高分辨率导航功能
最后实现超分辨率图像导航功能,这里创建一个鼠标事件,超分辨率图像跟随着鼠标移动,实现导航效果,效果如下所示:
实现代码如下所示:
#鼠标响应事件def onmouse(event, x, y, flags, param): h, _w = img.shape[:2] h1, _w1 = small.shape[:2] x, y = 1.0*x*h/h1, 1.0*y*h/h1 zoom = cv.getRectSubPix(img, (800, 600), (x+0.5, y+0.5)) cv.imshow('zoom', zoom)4、图像显示功能
最后将图像显示出来就可以了,实现代码如下所示:
cv.imshow('preview', small)cv.setMouseCallback('preview', onmouse)cv.waitKey()到此这篇关于30行Python代码实现高分辨率图像导航的方法的文章就介绍到这了,更多相关Python 高分辨率图像导航内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
超虚拟分辨率要打开。 超分辨率是通过硬件或软件的方法提高原有图像的分辨率,通过一系列低分辨率的图像来得到一幅高分辨率的图像过程就是超分辨率重建。在大量的电子图
屏幕dpi表示屏幕分辨率,分辨率越高,可以显示更高分辨率的照片和视频,分辨率指的是图像或者显示屏在长和宽上各拥有的像素个数。 分辨率(英语:Imagereso
很多用户在使用QQ影音的时候发现QQ影音播放高分辨率视频会自动闪退,那么,QQ影音播放高分辨率视频自动闪退怎么办?下面小编就为大家分享QQ影音播放高分辨率视频自
打印机的最高分辨率 最高分辨率1200*1200dpi喷墨打印机的分辨率均在600×600dpi以上。打印分辨率是衡量打印机打印质量的重要指标,它
显示器性能指标包括: 1、点距,在相同分辨率的情况下,点距越小图像越清晰。 2、分辨率,在图片的环境中高分辨率能有效地收缩屏幕图像。 3、扫描频率,如果扫