Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用OpenCV翻译同一图像中的圆形裁剪区域? 原始图像_Python_Opencv_Translate Animation - Fatal编程技术网

Python 如何使用OpenCV翻译同一图像中的圆形裁剪区域? 原始图像

Python 如何使用OpenCV翻译同一图像中的圆形裁剪区域? 原始图像,python,opencv,translate-animation,Python,Opencv,Translate Animation,预期产出。 我使用此代码将特定部分转换为同一图像,但输出不变 import numpy as np import cv2 as cv img = cv.imread('eye0.jpg', 0) rows, cols = img.shape roi = img[200: 300, 360: 450] M = np.float32([[1, 0, 100], [0, 1, 50]]) dst = cv.warpAffine(roi, M, roi.shape) cv.imshow('im

预期产出。

我使用此代码将特定部分转换为同一图像,但输出不变

import numpy as np
import cv2 as cv

img = cv.imread('eye0.jpg', 0)
rows, cols = img.shape

roi = img[200: 300, 360: 450]

M = np.float32([[1, 0, 100], [0, 1, 50]])
dst = cv.warpAffine(roi, M, roi.shape)

cv.imshow('img', img)
cv.imshow('img', dst)
cv.waitKey(0)
cv.destroyAllWindows()
我看不到原始图像有任何变化。我怎样才能做到?此外,作为一名openCV新手,我想知道我应该在这里使用/探索哪些功能来实现我的目标

Copy()
函数可以帮助您,而不是
warpAffine()
。您还可以检查:

以下是输出和代码:


**扭曲仿射变换后的图像。。。但是绕着零件旋转似乎很困难。。 **


如何裁剪圆形零件。也不尝试复制,而是尝试移动。如果你复制到另一个地方,它看起来像移动?通过查看您的预期输出,我就明白了这一点。我裁剪成长方形。没有裁剪为圆形的功能。如何裁剪圆形零件。你说的“不尝试复制而尝试移动”是什么意思?在您预期的输出中,roi似乎被复制并粘贴到同一图像中。
import numpy as np
import cv2 as cv

img = cv.imread('eye.jpg', 1)
#rows, cols = img.shape

roi = img[80: 100, 140: 160]

img2 = img.copy()

img2[95:115, 140:160]=roi

cv.imshow('img', img)
cv.imshow('imaag', img2)
cv.waitKey(0)
cv.destroyAllWindows()
import numpy as np
import cv2 as cv

img = cv.imread('eye.jpg')
roi = img[78: 100, 130: 160]
M = np.float32([[1, 0, 6], [0, 1, 4]])
dst = cv.warpAffine(roi, M, (30, 22))
img[80:102, 132:162] = dst
cv.imwrite("newimage.jpg",img)
cv.imshow('img', img)
cv.imshow('img1',dst)
cv.waitKey(0)
cv.destroyAllWindows()