Opencv之以亚像素精度获取图片的ROI--cv.getRectSubPix

该博客介绍了如何利用OpenCV的getRectSubPix函数从图像中以亚像素精度提取感兴趣区域(ROI)。通过代码示例展示了如何设置参数,包括输入图像、ROI尺寸、中心坐标和输出图像格式,从而实现高精度的图像局部放大和显示。
摘要由CSDN通过智能技术生成

函数作用

从图像中以亚像素精度检索ROI区域

函数原型

getRectSubPix(image, patchSize, center, patch=None, patchType=None)
  • image:输入图像
  • patchSize:获取感兴趣区域矩形的大小
  • center:感兴趣区域矩形在原图像中的位置(即感兴趣区域矩形的中心点坐标)
  • patch:输出的图像
  • patchType=-1 :表示输出图像的深度。默认-1 ,深度不变

代码展示

 

# -*- coding:utf-8 -*-

import cv2
import numpy as np

img = cv2.imread('/home/pi/PycharmProjects/learn/lib/opencv/samples/data/aloeR.jpg')

small = img.copy()
for _ in range(3):
    small = cv2.pyrDown(small)


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 = cv2.getRectSubPix(img, (800, 600), (x + 0.5, y + 0.5))
    cv2.imshow('zoom', zoom)


cv2.namedWindow('preview', 0)
cv2.imshow('preview', small)
cv2.setMouseCallback('preview', onmouse)
cv2.waitKey()
cv2.destroyAllWindows()

效果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值