opencv期末练习题(8)附带解析

图像切片

python 复制代码
%matplotlib inline
import cv2
import matplotlib.pyplot as plt
def imshow(img,gray=False,bgr_mode=False):
    if gray:
        img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        plt.imshow(img,cmap="gray")
    else:
        if not bgr_mode:
            img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
        plt.imshow(img)
    plt.show()
python 复制代码
import cv2

img = cv2.imread("zju.png")
imshow(img)

得到结果如图所示:

python 复制代码
img.shape # shape 维度信息
img=cv2.resize(img,dsize=(225,225))
crop_img = img[70:170,60:165,:]
imshow(crop_img)
复制代码
浅拷贝,是指当图像之间进行赋值时,图像数据并未发生复制,而是两个对象都指向同一块内存块。
深拷贝,是指新创建的图像拥有原始图像的崭新拷贝,即拷贝图像和原始图像在内存中存放在不同地方
python 复制代码
import cv2
img = cv2.imread("zju.png")
# 浅拷贝
copy1 = img
# 深拷贝
copy2 = img.copy()
# 对源img进行修改,查看copy1中的图像是否有发生变化
img[200:400,200:400] = (255,0,0)
result1 = cv2.hconcat([img,copy1]) # 水平拼接两个图片
result2 = cv2.hconcat([img,copy2])
imshow(result1)
imshow(result2)

得到结果如下图:

小练习:截取car.jpg的完整车辆图片和车牌图片

python 复制代码
import cv2
car = cv2.imread("car.jpg")
imshow(car)
python 复制代码
imshow(car[0:350,460:1000,:])
python 复制代码
imshow(car[270:300,670:790,:])

根据图中标尺得知车牌坐标:得到如下所示图像切片。

相关推荐
shangjian0072 小时前
AI大模型-评价指标-相关术语
人工智能·算法
江河地笑3 小时前
opencv、cmake、vcpkg
人工智能·opencv·计算机视觉
海边夕阳20063 小时前
【每天一个AI小知识】:什么是卷积神经网络?
人工智能·经验分享·深度学习·神经网络·机器学习·cnn
一只会写代码的猫4 小时前
可持续发展中的绿色科技:推动未来的环保创新
大数据·人工智能
胡萝卜3.04 小时前
掌握C++ map:高效键值对操作指南
开发语言·数据结构·c++·人工智能·map
松岛雾奈.2305 小时前
机器学习--PCA降维算法
人工智能·算法·机器学习
5***79005 小时前
机器学习社区机器学习社区:推动技术进步与创新的引擎
人工智能·机器学习
物联网软硬件开发-轨物科技5 小时前
【轨物交流】海盐县组织部调研轨物科技 深化产学研用协同创新
人工智能·科技
Olafur_zbj5 小时前
【AI】矩阵、向量与乘法
人工智能·线性代数·矩阵
kk哥88995 小时前
印刷 / 表单处理专属!Acrobat 2025 AI 加持 PDF 编辑 + 批量处理效率翻倍,安装教程
人工智能