文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python+opencv实现论文插图局部放大并拼接效果

2024-04-02 19:55

关注

前言

在制作论文插图时,有时要求将图片的局部放大来展示细节内容,同时将放大图拼接在原图上以方便观察对比。

当然直接利用电脑自带的画图软件或者别的软件也可以很方便地实现,但是如果碰到多个算法处理一张图片后多张图片进行对比就不太方便了,这里主要贴一下 python 代码的实现。

cv2.rectangle() 函数

cv2.rectangle(img, pt1, pt2, color, thickness ) 功能是在图片上画一个矩形框,没有返回值。

参数列表:
img:图片
pt1:长方形框左上角坐标
pt2:长方形框右下角坐标
color:字体颜色
thickness:字体粗细

示例


import cv2

image = cv2.imread('F://test.png')
pt1 = (10, 190)  # 长方形框左上角坐标
pt2 = (160, 270)  # 长方形框右下角坐标 
cv2.rectangle(image, pt1, pt2, (255, 0, 0), 5)
cv2.imshow('demo', image)

cv2.resize() 函数

cv2.resize(src, dsize) 功能是将图片缩放为指定大小,返回值是改变后的图片。

参数列表:
src: 输入图片
dsize:输出图片的尺寸

示例


import cv2

image = cv2.imread('F://test.png')
h, w = image.shape[0:2]
print(f'原来图片的大小:{w}×{h}')

image = cv2.resize(image, (150, 300))
h, w = image.shape[0:2]
print(f'缩小后图片的大小:{w}×{h}')

np.hstack() 和 np.vstack() 函数

np.hstack((img1, img2, ···))np.vstack((img1, img2·, ···))np.hstack()np.vstack() 是 numpy 提供的两个矩阵拼接函数,顾名思义 np.hstack() 是水平方向拼接,np.vstack() 是垂直方向拼接。

参数列表
img1:第一个图片
img2:第二个图片
imgn:第 n 个图片
要求:输入图片的行数或者列数相同

示例


import cv2
import numpy as np

image1 = cv2.imread('F://test.png')
image2 = cv2.resize(image1, (150, 300))
image3 = cv2.resize(image1, (550, 410))

image = np.hstack((image1, image2))
image = np.vstack((image, image3))

cv2.imshow('demo', image)

实现局部框定放大拼接


import cv2
import numpy as np

image = cv2.imread('F://test.png')
# 第一个局部放大图
pt1 = (150, 70)  # 长方形框左上角坐标
pt2 = (250, 130)  # 长方形框右下角坐标
cv2.rectangle(image, pt1, pt2, (0, 0, 255), 2)
patch1 = image[70:130, 150:250, :]
patch1 = cv2.resize(patch1, (200, 120))
# 第二个局部放大图
pt1 = (265, 70)  # 长方形框左上角坐标
pt2 = (365, 130)  # 长方形框右下角坐标
cv2.rectangle(image, pt1, pt2, (0, 255, 0), 2)
patch2 = image[70:130, 265:365, :]
patch2 = cv2.resize(patch2, (200, 120))
# 拼接
patch = np.hstack((patch1, patch2))
image = np.vstack((image, patch))
cv2.imshow('demo', image)
cv2.imwrite('F://test_result.png', image)

总结

到此这篇关于python+opencv实现论文插图局部放大并拼接效果的文章就介绍到这了,更多相关python+opencv插图局部放大并拼接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯