OpenCV(Python)学习笔记(One):几何变换之对图像的旋转

 最近学习中会用到OpenCV,感觉OpenCV简单且功能强大,Python语言也简单易用,于是就学了Python版OpenCV。里面讲的比较简单,就先从简单的入手吧。

因为已经学习一段时间了,所以文章并不是按照OpenCV的顺序来写的,我会慢慢补齐以前学过的一些例子。

都是些简单的小栗子,大神勿喷,也恳请大家多多提意见交流。

下面的例子实现对图片的旋转,一些输入输出只是为了使用友好,删除也没有任何影响的。

def turnImage(imgpath,outpath):
    print('***************The start****************')
    imgname = imgpath.split('/')[-1]
    name, dot = imgname.split('.')[0], imgname.split('.')[1]
    basename = outpath + name + '_' + dot + '_TurnImage_30'
    img = cv2.imread(imgpath,0)
    rows, cols = img.shape
    
    #这里的第一个参数为旋转中心,第二个为旋转角度,第三个为旋转后的缩放因子
    #可以通过设置旋转中心,缩放因子,以及窗口大小来防止旋转超出边界的问题
    M = cv2.getRotationMatrix2D((cols/2,rows/2),30,0.6)
    
    #这里第三个参数是输出图像的尺寸中心
    dst = cv2.warpAffine(img,M,(2*cols,2*rows))
    cv2.imshow('Turn Inage',dst)#显示旋转后的图片
    cv2.imshow(' Inage',img)
    imgname_out1 =basename + 'img.jpg'
    imgname_out2 =basename + 'dst.jpg'
    cv2.imwrite(imgname_out1,img)#原图保存
    cv2.imwrite(imgname_out2,dst)#保存旋转后的结果
    cv2.waitKey(2000)#等待2000毫秒
    cv2.destroyAllWindows()#关闭所有显示窗口
    print('***************The end***************')
    

imgpath = '../testimage/football.jpg'#图片路径
outpath = 'Geometric_change/'#结果保存路径
turnImage(imgpath,outpath)

 

原图
旋转后的图片

文件组织:

原图
原图

|--OpenCV

    |--code 代码所在文件夹

        |--Geometric_change.py 源代码文件

        |--Geometric_change 保存结果的文件夹

    |--testimage 加载图片的文件夹

 

猜你喜欢

转载自blog.csdn.net/zglass/article/details/84429874