import cv2 as cv
import numpy as np
#对矩阵进行重映射操作
img = np.random.randint(0,256,size=[6,6],dtype=np.uint8)
w ,h = img.shape #获取图像大小信息,shape[0]表示垂直尺寸,[1]代表水平尺寸
x = np.zeros((w,h),np.float32)
y = np.zeros((w,h),np.float32)
for i in range(w):
for j in range(h):
x.itemset((i,j),j)# x--W,y--H,所以x代表列,y代表行
y.itemset((i,j),i)
rst = cv.remap(img,x,y,cv.INTER_LINEAR)#将矩阵重映射(这里为复制)至一个新的矩阵
print("image=\n",img)
print("rst=\n",rst)
#利用重映射复制图像操作
image = cv.imread("C:/Users/silencht/Desktop/Opencv_Learn/img/lena.png")
w ,h = image.shape[:2] #获取图像大小信息
print(w,h)
x = np.zeros((w,h),np.float32)
y = np.zeros((w,h),np.float32)
for i in range(w):
for j in range(h):
x.itemset((i,j),j)# x--W,y--H,所以x代表列,y代表行
y.itemset((i,j),i)
rst = cv.remap(image,x,y,cv.INTER_LINEAR)#将图像重映射(这里为复制)至一个新的图像
cv.imshow("image",image)
cv.imshow("rst",rst)
cv.waitKey()
cv.destroyAllWindows()
#利用重映射对图像进行x轴翻转
image = cv.imread("C:/Users/silencht/Desktop/Opencv_Learn/img/lena.png")
w ,h = image.shape[:2] #获取图像大小信息
x = np.zeros((w,h),np.float32)
y = np.zeros((w,h),np.float32)
for i in range(w):
for j in range(h):
x.itemset((i,j),j)# x--W,y--H,所以x代表列,y代表行
y.itemset((i,j),w-1-i)#绕x轴翻转,实际上是映射过程中x坐标轴的值不变,y坐标轴的值以x轴为对称轴进行交换
rst = cv.remap(image,x,y,cv.INTER_LINEAR)#将图像重映射(这里为绕X轴翻转)至一个新的图像
cv.imshow("image",image)
cv.imshow("rst",rst)
cv.waitKey()
cv.destroyAllWindows()
#利用重映射对图像进行y轴翻转
image = cv.imread("C:/Users/silencht/Desktop/Opencv_Learn/img/lena.png")
w ,h = image.shape[:2] #获取图像大小信息
x = np.zeros((w,h),np.float32)
y = np.zeros((w,h),np.float32)
for i in range(w):
for j in range(h):
x.itemset((i,j),h-1-j)# x--W,y--H,所以x代表列,y代表行
y.itemset((i,j),i)#绕y轴翻转,实际上是映射过程中y坐标轴的值不变,x坐标轴的值以y轴为对称轴进行交换
rst = cv.remap(image,x,y,cv.INTER_LINEAR)#将图像重映射(这里为绕y轴翻转)至一个新的图像
cv.imshow("image",image)
cv.imshow("rst",rst)
cv.waitKey()
cv.destroyAllWindows()
#利用重映射对图像进行X/Y轴翻转
image = cv.imread("C:/Users/silencht/Desktop/Opencv_Learn/img/lena.png")
w ,h = image.shape[:2] #获取图像大小信息
x = np.zeros((w,h),np.float32)
y = np.zeros((w,h),np.float32)
for i in range(w):
for j in range(h):
x.itemset((i,j),h-1-j)# x--W,y--H,所以x代表列,y代表行
y.itemset((i,j),w-1-i)#绕x/y轴翻转
rst = cv.remap(image,x,y,cv.INTER_LINEAR)#将图像重映射(这里为绕x/y轴翻转)至一个新的图像
cv.imshow("image",image)
cv.imshow("rst",rst)
cv.waitKey()
cv.destroyAllWindows()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
机器学习:基于opencv和python的智能图像处理》学习代码.zip (41个子文件)
Opencv_Learn-master
src
10_4.py 397B
3_4.py 748B
4_1.py 837B
10_3.py 402B
3_5.py 877B
6.py 2KB
7_4.py 352B
9_1.py 2KB
10_5.py 1KB
8_1.py 271B
8_2.py 463B
4_4.py 908B
9_2.py 2KB
8_5.py 792B
5_4.py 3KB
8_3.py 430B
7_3.py 690B
7_2.py 2KB
5_2.py 566B
10_1.py 967B
4_2.py 3KB
10_2.py 1KB
3_2.py 915B
3_3.py 360B
8_4.py 866B
4_3.py 725B
5_3.py 2KB
.idea
.name 6B
Opencv_Learn.iml 284B
vcs.xml 180B
misc.xml 200B
inspectionProfiles
profiles_settings.xml 174B
modules.xml 276B
.gitignore 47B
img
flower.jpg 70KB
coin.png 205KB
lena.png 558KB
circle.png 57KB
camel.png 18KB
result.png 3.92MB
median.png 87KB
共 41 条
- 1
资源评论
博士僧小星
- 粉丝: 1936
- 资源: 5894
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功