关于海康python脚本如何将读取图片转成cv2可处理的图片的方法
介绍python脚本如何转成cv2可识别的格式并输出

由于海康python脚本刚推出不久,自己之前也自学了一年python,看了社区有好些小伙伴卡在python图片的转换问题上,因此自己也研究并测试了下,经过几天的努力终于成功实现

废话不多说,上代码


import sys
sys.argv=['']
from ioHelper import *
import cv2 as cv
import numpy as np

def Process(data) -> int:
    moduleVar = IoHelper(data, INIT_MODULE_VAR)
    globalVar = IoHelper(data, INIT_GLOBAL_VAR)
    localVar = IoHelper(data, INIT_LOCAL_VAR)
    
    try:
        imagedata=moduleVar.in0#图像源输入彩色
        imagedata_gray=moduleVar.in3#图像源输入黑白
        width=moduleVar.in1#图像宽
        height=moduleVar.in2#图像高
        length=width*height#像素点数
        channels=3#通道数
        img_np=np.frombuffer(imagedata.buffer,np.uint8)#彩色图片转换成字节流
        img_np_gray=np.frombuffer(imagedata_gray.buffer,np.uint8)#灰度图片转换成字节流

        

        #下面这两句是关键后面的轮廓和收缩只是为了看效果

        img=np.reshape(img_np,[height, width, channels])#彩色转换需要宽高对调,和原始图像对比发现的
        gray=cv.cvtColor(img,cv.COLOR_RGB2GRAY)#灰度处理这颜色需要RGB,和原始图像对比发现的


        ret,img_threshold1=cv.threshold(gray,127,255,cv.THRESH_BINARY)#二值化
        contours,hierarchy=cv.findContours(img_threshold1,cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE)#获取灰度的轮廓
        img1=img.copy()
        res=cv.drawContours(img1,contours,-1,(0,0,255),2)#彩色图片
        dst=np.ones((5,5),np.uint8)
        erosion=cv.erode(img_threshold1,dst,iterations=1)#收缩
        img_test1=imagedata_gray
        img_test1.buffer=erosion.tobytes()
        moduleVar.out0=img_test1 
        img_test2=imagedata
        img_test2.buffer=res.tobytes()
        moduleVar.out1=img_test2  
        
    except BaseException as e:
        PrintMsg(e)
    return 0


代码核心是上面的转换,如果是灰度转黑白,通道数改成1即可

效果图如下

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

【YOLO11实战项目】OpenCV+CUDA编译保姆级教程

下一篇

[算法模块]模板建模界面开发及联调

评论请先登录 登录
全部评论 2

你好,请问:VM的python接口不是不支持第三方库吗?这里为啥还能用CV2的库?

2025-03-13 09:08:42 广东省
回复

你好,请问:VM的python脚本不是不支持第三方库吗?这里为啥还能用CV2的库?

2025-03-13 09:11:29 广东省
回复
  • 1
Lv.0
0
关注
0
粉丝
0
创作
0
获赞
相关阅读
  • 【YOLO11实战项目】OpenCV+CUDA编译保姆级教程
    2025-02-17 浏览 0
  • 关于海康python脚本如何将读取图片转成cv2可处理的图片的方法
    2025-03-10 浏览 0
  • 【想不开的操作】Rust驱动MV-EB435i
    2025-03-08 浏览 0
  • 哪吒特效背后的黑科技:如何让电影和工厂都“开挂”?
    2025-02-21 浏览 0
  • 🎉【重磅回归】积分商城焕新上线,Q1兑换通道开启啦!
    2025-02-20 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器