OpenCV 图像处理(读取、存储中文路径,二进制处理,添加文字,绘制方框)

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路OpenCV 图像处理(读取、存储中文路径,二进制处理,添加文字,绘制方框),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

读取中文路径:

img = cv.imdecode(np.fromfile(r'C:\Users\focus\Pictures\背景图片\希望之鲸.jpg', dtype=np.uint8), cv.IMREAD_COLOR)

存储中文路径

# file:中文路径
# image 图片数据(BGR型)
# .png 存储类型
cv.imencode('.png', image)[1].tofile(file)

二进制转 OpenCV(BGR)

# pic_bytes:图片二进制流
# IMREAD_COLOR:无论传入什么类型的图像,均读取为彩图

blank = cv.imdecode(np.array(bytearray(pic_bytes), dtype='uint8'), cv.IMREAD_COLOR)

图片上添加文字描述(可处理中文)

# blank 图片数据(BGR)
# n 字体大小
def add_words_on_pic(self,blank,n)
    font = ImageFont.truetype('STKAITI.TTF', n)
    img_PIL = Image.fromarray(blank[..., ::-1])
    draw = ImageDraw.Draw(img_PIL)
    y = 20
    draw.text(xy=(5, y), text='test ', font=font, fill=(255, 255, 255))
    y+=n
    draw.text(xy=(5, y), text='test: ' , font=font, fill=(255, 255, 255))
    y+=n
    draw.text(xy=(5, y), text='test:' , font=font, fill=(255, 255, 255))

    image = cv.cvtColor(np.asarray(img_PIL), cv.COLOR_RGB2BGR)
    return image

图片上绘制方框

    def draw_warning_box_max(self, pt1, pt2, img, thickness=2,color=(0,0,255)):
        """
        draw warning box on pic
        
        pt1:方框左上角坐标(200,300)
        pt2:方框右下角坐标(250,350)
        thickness:方框线宽度:正数正常宽度,复数为实心框
        color:方框线条颜色(BGR)
        """
        cv.rectangle(img, pt1, pt2, thickness=thickness, color=color)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156920.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!