当前位置:   article > 正文

【4】基于Python的图像预处理_#边缘分割 imginfo = thresh2.shape height = imginfo[0]

#边缘分割 imginfo = thresh2.shape height = imginfo[0] width = imginfo[1] #cv

1.图像预处理

包含:图像缩放,图像剪切,图像位移,图像镜像,仿射变化,旋转变化

2. 原始代码

#图像剪裁与预处理
#图片的缩放
import cv2
import numpy as np
img=cv2.imread('02.jpg',1)
#shape中包含三个信息
# [0]:行数
# [1]:列数
# [2]:通道数
imgInfo=img.shape
height=imgInfo[0]
width=imgInfo[1]
deep=imgInfo[2]
print(deep)

#【1】放大 缩小
a=1.2
dstHeight=int(height*a)
dstWidth=int(width*a)
#放大缩小 涉及到图像的插值
#常见的插值 最近邻域差插值 双线性插值 立方插值
dst=cv2.resize(img,(dstWidth,dstHeight))
cv2.imshow('resizeimage',dst)

#【2】图像剪切
#[2.1]中间位置剪切
x_center=int((width/2))
y_center=int((height/2))
cutimg_median=img[x_center-200:x_center+200,y_center-200:y_center+200]
cv2.imshow('cut_media',cutimg_median)

#[2.2]任意位置剪切
cutimg_every=img[200:600,200:400]
cv2.imshow('cut_every',cutimg_every)

#【3】 图片位移
#设定平移矩阵
#矩阵讲解
#matshift拆成22的矩阵和21的矩阵
#A=[[1,0],[0,1]],B=[[100],[200]] C=[X,Y]
#A*C=B
#最终效果图像沿着x轴移动100,沿着y轴移动200;
matshift=np.float32([[1,0,200],[0,1,200]])

shiftimg=cv2.warpAffine(img,matshift,(height,width))
cv2.imshow('shiftimg',shiftimg)

#【4】图像镜像
#上下镜像
#空白图像的尺寸大小
newImgInfo=(height*2,width,deep)
#创建空白图片
samedst=np.zeros(newImgInfo,np.uint8)
#开始镜像
for i in range(0,height):
    for j in range(0,width):
        #samedst上部分像素写入
        samedst[i,j]=img[i,j]
        #samedst下部分像素写入
        samedst[height*2-i-1,j]=img[i,j]
#绘制镜像线
for i in range(0,width):
    samedst[height,i]=(0,0,255)
cv2.imshow('samedst',samedst)

#【5】仿射变化
#设定变化矩阵  根据三组对应点寻找仿射变化的矩阵
matSrc=np.float32([[0,0],[0,height-1],[width-1,0]])
matDst=np.float32([[50,50],[300,height-200],[width-300,100]])
#寻找仿射变化矩阵
matAffine=cv2.getAffineTransform(matSrc,matDst)
affineImg=cv2.warpAffine(img,matAffine,(width,height))
cv2.imshow('affineImg',affineImg)

#【6】旋转变化
matRotate=cv2.getRotationMatrix2D((height*0.5,width*0.5),45,0.5)
rotateImg=cv2.warpAffine(img,matRotate,(height,width))
cv2.imshow('rotateImg',rotateImg)

cv2.waitKey(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80

3图像处理效果

旋转
仿射

平移
剪切
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/148770
推荐阅读
相关标签
  

闽ICP备14008679号