opencv003图像裁剪(应用NumPy矩阵的切片)
2024-01-03 06:17:05
这一部分相对于马上要学习的二值化是要更更更简单一些的,只需三行,便能在opencv上裁剪图像啦(顺便云吸猫,太可爱了!)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?出处见水印!?
1、复习图像的显示?
前几天期末考试,太久没有看opencv,刚入的门又迈出去了呜呜我唉,先复习一下吧
import cv2 as cv
import numpy as np
img = cv.imread('F:\est01\cat.jpg', 1)
print(img.shape) # 显示图片大小(长,宽)和图片颜色通道数量
cv.imshow("original", img)
cv.waitKey(0)
- ?import
- imread
- imshow
- waitKey
- (shape是后面有用,可以显示图片大小和图片颜色通道数量)
注:图片颜色通道
彩色数字图像由像素组成,像素由一系列代码表示的原色组合而成。在这种情况下,通道是与彩色图像大小相同的灰度图像,仅由这些原色之一构成
灰度图像是单通道图像,其中每个像素只携带有关光强度的信息。这些图像完全由灰色阴影组成。
与灰度图像不同,RGB图像是三通道的。每个像素由三个通道组成,每个通道代表一种颜色。
可以使用opencv分割通道?
显示成功
2.图片裁剪原理?
通过NumPy 矩阵的切片功能来完成对于图片的裁剪,被读入计算机内存的图片都是存储在2D的矩阵,只需要指明需要裁剪下来的区域对应的像素的高宽位置,我们就可以办到了
Python程序中,使用的NumPy矩阵的切片来完成图片的裁剪。对于矩阵的切片,需要指明对于矩阵索引的起始和结束的索引数值,包括第一个和第二个坐标轴。
- 通常情况下,第一个坐标表示了图像的高度(矩阵的行);
- 第二个坐标轴表示了图像的宽度(矩阵的列);
cropped = img[start_row:end_row, start_col:end_col]
import cv2 as cv
import numpy as np
img = cv.imread('F:\est01\cat.jpg', 1)
print(img.shape) # 显示图片大小(长,宽)和图片颜色通道数量
cv.imshow("original", img)
cv.waitKey(0)
cropped_image = img[400:654, 300:500]
cv.imshow("cropped", cropped_image)
cv.waitKey(0)
成功剪切
文章来源:https://blog.csdn.net/yf743909/article/details/135309051
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!