OpenCV基础入门30讲(Python)——第三讲 图像对象的创建与赋值

在OpenCV里,对图像的操作是最为基本的。接下来我们看一下图像对象的创建与赋值。

注:前文介绍过的代码和操作不再重复。

代码

在 main 文件中,先导入新的模块

python 复制代码
# 导入 numpy 模块,重命名为 np
import numpy as np

再写进以下代码:

python 复制代码
# 第三节课 图像对象的创建与赋值
def mat_demo():
    image = cv.imread('C:/Users/28267/Desktop/Python/Py_OpenCV481/python_opencv_quick_tutorial/image/3.jpg')
    if image is None:
        print("错误: 未发现图像或者图像不能被加载.")

    # 计算新的图像尺寸
    width = int(image.shape[1] * 0.2)
    height = int(image.shape[0] * 0.2)
    dim = (width, height)

    # 缩小图像
    resized_image = cv.resize(image, dim, interpolation=cv.INTER_AREA)
    # h, w, c = resized_image.shape
    # 打印图像尺寸以及通道数
    print(resized_image.shape)
    # 打印 resized_image 图像的数值
    print(resized_image)
    # 截取 resized_image 图像的高(100:400),宽(60:280)所组成的矩形区域,给roi
    roi = resized_image[100:400, 60:280]
    # 创建一个宽,高,通道数和 resized_image 一样,但数值全为零的图像blank
    blank = np.zeros_like(resized_image)
    # blank = np.zeros((h, w, c), dtype=np.uint8)
    # 把图像 resized_image 的部分区域截取到 blank 同样的区域
    blank[100:400, 60:280, :] = resized_image[100:400, 60:280, :]
    # 拷贝 roi 到 copy_image
    copy_image = np.copy(roi)

    # 显示图像
    cv.imshow("roi", roi)
    cv.imshow("copy", copy_image)
    cv.imshow("blank", blank)
    cv.imshow("resized_image", resized_image)
    cv.waitKey(0)
    cv.destroyAllWindows()

最后,在主函数中修改我们这节课的函数 mat_demo ,如下:

python 复制代码
# 主函数运行函数 color_space_demo
if __name__ == "__main__":
    mat_demo()

运行后,效果如下:

相关推荐
KuaFuAI3 分钟前
百度“秒哒”能开始内测了?李彦宏:假!
人工智能·百度·aigc·码上飞·ai产品榜·一句话生成一个应用
Jackilina_Stone6 分钟前
【python】三帧差法实现运动目标检测
python·计算机视觉·od·运动目标检测
羑悻的小杀马特8 分钟前
计算机视觉:撕裂时空的视觉算法革命狂潮
人工智能·算法·计算机视觉
l1m0_8 分钟前
什么是波士顿矩阵,怎么制作?AI工具一键生成战略分析图!
人工智能·ai·信息可视化·矩阵·aigc·波士顿矩阵
Icomi_11 分钟前
【PyTorch】3.张量类型转换
c语言·c++·人工智能·pytorch·python·深度学习·神经网络
GISer Liu43 分钟前
深入理解Transformer中的解码器原理(Decoder)与掩码机制
开发语言·人工智能·python·深度学习·机器学习·llm·transformer
金融OG43 分钟前
6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)
大数据·人工智能·python·算法·机器学习·数学建模·金融
PaLu-LI44 分钟前
ORB-SLAM2源码学习:Initializer.cc(11): Initializer::ReconstructH用H矩阵恢复R, t和三维点
c++·人工智能·学习·ubuntu·计算机视觉·矩阵
金融OG1 小时前
99.15 金融难点通俗解释:毛利率vs营业利润率vs净利率
大数据·数据库·python·机器学习·金融
大数据张老师1 小时前
【实践】Python实现气象数据分析与可视化
python·信息可视化·数据分析·可视化