python获取图片的rgb值 python提取图片颜色

本文介绍了如何使用Python的OpenCV和NumPy库,通过get_pix_bgr和make_one_color_pic函数,获取图片的BGR值并创建指定颜色的纯色图片,提供了一个示例以生成特定位置和分辨率的纯色图像。
摘要由CSDN通过智能技术生成

依赖安装
需要使用opencv以及numpy。安装命令如下:

pip install opencv-python -i https://pypi.douban.com/simple
pip install numpy -i https://pypi.douban.com/simple
代码
#!/user/bin/env python

coding=utf-8

“”"
@project : csdn
@author : 剑客阿良_ALiang
@file : make_pic_tool.py
@ide : PyCharm
@time : 2022-01-11 08:34:31
“”"
import cv2
import os
import numpy as np
import uuid

获取图片坐标bgr值

def get_pix_bgr(image_path: str, x: int, y: int):
ext = os.path.basename(image_path).strip().split(‘.’)[-1]
if ext not in [‘png’, ‘jpg’]:
raise Exception(‘format error’)
img = cv2.imread(image_path)
px = img[y, x]
blue = img[y, x, 0]
green = img[y, x, 1]
red = img[y, x, 2]
return blue, green, red

构建纯色图

def make_one_color_pic(output_dir: str, image_path: str, coordinates: tuple, resolution: tuple):
blue, green, red = get_pix_bgr(image_path, coordinates[0], coordinates[1])
img = np.zeros((resolution[1], resolution[0], 3), np.uint8)
# 创建BGR纯色图
img[:] = [blue, green, red]
result_image = os.path.join(output_dir, ‘{}.jpg’.format(uuid.uuid1().hex))
cv2.imwrite(result_image, img)
return result_image

if name == ‘main’:
print(make_one_color_pic(r’C:\Users\huyi\Desktop’, r’C:\Users\huyi\Desktop\2054146.jpg’, (300, 300), (1080, 1920)))
代码说明:

1、get_pix_bgr方法入参分别为,图片地址以及坐标位置,用以获取bgr值。

2、make_one_color_pic方法为最终生成纯色图方法,参数有输出目录地址、图片地址、坐标位置、最终图片分辨率,输出最终图片路径。

3、最终图片名使用uuid,避免重复。

4、做了简单的文件后缀校验,如需修改,可以自己添加。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值