路线教学——掌握opencv(一)像素计算

本文介绍使用OpenCV进行图像处理的基本方法,通过像素操作改变图像的颜色表现,包括图像读取、尺寸调整及像素级处理等关键步骤,并展示了具体的Python实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

opencv 里的图像是矩阵格式

 girl=cv.imread(r"img\dog.jpg")
 print(type(girl))

结果如下:

<class 'numpy.ndarray'>

图像的尺寸就表明共有多少个像素点,每个像素点有三个通道,分别代表b,g,r三层颜色,取值(0,255)之间。

当将变量x代入数组修改每个色层的像素之后,图像就会发生截然不同的变换。示例程序如下:

import cv2 as cv 
import numpy as np
import math

# 像素计算
def access_pixel(image):
    # 计录时值
    t1=cv.getTickCount()
    height,width,channels=image.shape
    for row in range(height):
        for col in range(width):
            for c in range(channels):
                pv=image[row,col,c]
                if pv<200:
                    image[row,col,c]=20*1.2# 固定值
                '''''
                image[row,col,c]=255-pv#    255为白色,胶卷色
                if pv<200:
                    image[row,col,c]=20*1.2# 固定值
                if pv<200:
                    image[row,col,c]=pv*1.2# 部分高亮
                '''''
       
    cv.imshow("pixel_demo",image)
    info(image)
    #   计时,秒数=末时值-初时值/cpu频率
    t2=cv.getTickCount()
    time=(t2-t1)/cv.getTickFrequency()
    print("time:%s s"%time)
    print("t1:%s"%t1)
    print("t2:%s"%t2)
    print("-------------------开机时间!----------------------")
# 图像导入
def main2():
    global girl
    girl=cv.imread(r"img\dog.jpg")
    girl=solid_size(girl,400)
    print(type(girl))
    
#  ——1图像尺寸调整
def solid_size(image,width=500):
    h,w,c=image.shape
    height=int(width/w*h)
    image=cv.resize(image,(width,height),interpolation=cv.INTER_NEAREST)
    cv.imshow("name",image)
    return image


if __name__ == "__main__":
    main2()
    access_pixel(girl)
    cv.waitKey(0)#  维持时间,为0时任意键退出
    cv.destroyAllWindows()

运行结果如下:

在这里插入图片描述
目录:
(暂无)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值