python 对论文插图制作局部放大图并在原图中相同位置加边框

python 对论文插图制作局部放大图并在原图中相同位置加边框:

全部代码如下:

import cv2
import numpy as np

image_path = "E:\\仿真资料\\论文草稿\\监督和自监督训练定性对比图\\"
save_path =  "E:\\仿真资料\\论文草稿\\监督和自监督训练定性对比图_2\\"
#image_path = "F:\\原始图片\yueye_2\\"
#save_path = "F:\\原始图片\yueye_2\\"
k = '0000000065.png'

img = cv2.imdecode(np.fromfile(image_path+k, dtype = np.uint8),-1)  # 读取带有中文路径或中文文件名的图片
#img = cv2.imread(image_path+i, -1)  #在cv2.imread参数中加入-1,表示不改变读取图像的类型直接读取
print(img.shape)
print(img.dtype)

i = 30  #要放大区域的左上角的 x 坐标(竖轴坐标)
j = 1280  #要放大区域的左上角的 y 坐标(横轴坐标)
h = 130  #要放大区域的高
w = 140  #要放大区域的宽
#h_2 = 300
#w_2 = 300
patch1 = img[i:i+h, j:j+w]  # numpy 里先x,后y,x轴沿垂直方向向下,y轴沿水平方向向右
#patch1 = cv2.resize(patch1, (w_2, h_2))  #(w, h)
cv2.imencode('.png', patch1)[1].tofile(save_path+k)  #也可以将 .png 改为 .jpg。
#cv2.imwrite(save_path+i, patch1)
print(patch1.shape)
print(patch1.dtype)

pt1 = (j, i)  # 长方形框左上角坐标
pt2 = (j+w, i+h)  # 长方形框右下角坐标 
cv2.rectangle(img, pt1, pt2, (0, 0, 255), 2)  # cv2 里也是先x,后y,x轴沿水平方向向右,y轴沿垂直方向向下
cv2.imencode('.png', img)[1].tofile(save_path+k[:-4]+'_带边框'+'(左上角坐标:({}, {}),高:{},宽:{})'.format(i,j,h,w)+'.png')  # 保存带有中文路径或中文文件名的图片
#cv2.imwrite(save_path+i[:-4]+'_caijian'+'.png', img)

参考文献:

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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值