首页 > 其他 > 详细

第二天openc的内容:图片的缩放、旋转、格式转换

时间:2020-04-12 18:22:58      阅读:59      评论:0      收藏:0      [点我收藏+]

1.图像类型转换:

  1.gray(灰度)————bgr(彩色)

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena256.bmp,cv2.IMREAD_UNCHANGED)
img1=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code  

  2.bgr(彩色)------------gray(灰度)

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena.bmp,cv2.IMREAD_UNCHANGED)
img1=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

  3.BGR---------RGB

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

2.图像的大小:

  1.使用图像的行数和列数进行缩放:

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.resize(img,(111,222))# 显示列在是行
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

  2.使用行数和列数的比列进行缩放:

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
rows,cols=img.shape[:2]
c1=(int(cols*0.5),int(rows*1.2))
print(c1)
img1=cv2.resize(img,(c1))# 显示列在是行
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

  3.使用fx和fy进行缩放:

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.resize(img,None,fx=1,fy=0.4)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

3图像的反转:

  1.绕x轴反转:

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.flip(img,0)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

  2.绕y周反转

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.flip(img,1)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

  3.绕对称轴旋转:

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
img1=cv2.flip(img,-5)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey()
cv2.destroyAllWindows()
View Code

4.图像的阈值化:

  1.二进制阈值化: 设定一个阈值,如果大于这个值,则将这个值设定为maxvalue,否则设为0

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lenacolor.png,cv2.IMREAD_UNCHANGED)
R,img1=cv2.threshold(img,123,255,cv2.THRESH_BINARY)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey(-5)
cv2.destroyAllWindows()
View Code

  2.反二进制阈值化: 设定一个阈值,如果小于这个值,则将这个值设定为maxvalue,否则设为0

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena256.bmp,cv2.IMREAD_UNCHANGED)
R,img1=cv2.threshold(img,123,255,cv2.THRESH_BINARY_INV)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey(-5)
cv2.destroyAllWindows()
View Code

  3.截断阈值化: 设定一个阈值,如果大于于这个值,则将这个值设定为maxvalue,否则值保持不变

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena256.bmp,cv2.IMREAD_UNCHANGED)
R,img1=cv2.threshold(img,123,255,cv2.THRESH_TRUNC)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey(-5)
cv2.destroyAllWindows()
View Code

  4.阈值化为0:设定一个阈值,如果大于于这个值,则将这个值设定为0,否则值保持不变

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena256.bmp,cv2.IMREAD_UNCHANGED)
R,img1=cv2.threshold(img,123,255,cv2.THRESH_TOZERO)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey(-5)
cv2.destroyAllWindows()
View Code

  5.反阈值化为0:设定一个阈值,如果小于于这个值,则将这个值设定为0,否则值保持不变

技术分享图片
import cv2
img=cv2.imread(D:\\cc1\\lena256.bmp,cv2.IMREAD_UNCHANGED)
R,img1=cv2.threshold(img,123,255,cv2.THRESH_TOZERO_INV)
cv2.imshow(old,img)
cv2.imshow(new,img1)
print(img.shape)
print(img1.shape)
cv2.waitKey(-5)
cv2.destroyAllWindows()
View Code

 

第二天openc的内容:图片的缩放、旋转、格式转换

原文:https://www.cnblogs.com/ab461087603/p/12686321.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!