python opencv 找圆 读码

圆盘读码加定位

目录

圆盘读码加定位

1.读码

2.定位圆


1.读码

create_bar_code_model ([], [], BarCodeHandle)
*create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)
read_data_code_2d_model ('C:/Users/Administrator/Desktop/2.dcm', DataCodeHandle)
*query_data_code_2d_params (DataCodeHandle, 'get_result_params', GenParamName)
set_bar_code_param (BarCodeHandle, 'element_size_min', 8)
set_bar_code_param (BarCodeHandle, 'persistence', 1)
set_bar_code_param (BarCodeHandle, 'start_stop_tolerance', 'high')
set_bar_code_param (BarCodeHandle, 'stop_after_result_num', 0)
* Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', 'GQ127000001', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle, 'TriggerMode', 'Off')
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * Image Acquisition 01: Do something
    find_bar_code (Image, SymbolRegions1, BarCodeHandle, ['Code 128','Code 39'], BarCodeStrings)
    find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)
    get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)
  *  get_data_code_2d_param (DataCodeHandle, 'contrast_min', GenParamValue)
   * write_data_code_2d_model (DataCodeHandle, 'C:/Users/Administrator/Desktop/2.dcm')
endwhile
close_framegrabber (AcqHandle)

2.定位圆

# -*- coding: utf-8 -*-
# @Time    : 2019/9/25 16:06
# @Author  : Don
# @File    : test.py
# @Software: PyCharm
import cv2
import numpy as np

# 读取灰度图
source = cv2.imread("2.jpg")
img = cv2.cvtColor(source, cv2.COLOR_BGR2GRAY)

print(img.shape)

# 高斯滤波
gaussian = cv2.GaussianBlur(img, (5, 5), 0)
# 边缘检测
Canny = cv2.Canny(gaussian, 30, 150)

# 膨胀
# 设置卷积核
kernel = np.ones((20, 20), np.uint8)

# 图像膨胀处理
erosion1 = cv2.dilate(Canny, kernel)

#查找轮廓
h = cv2.findContours(erosion1, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

# 提取轮廓
contours = h[0][0]
# 打印返回值,这是一个元组
print(type(h))
# 打印轮廓类型,这是个列表
print(type(h[1]))
# 查看轮廓数量
print(len(contours))

# 画出轮廓:contours是轮廓,-1表示全画,然后是颜色,厚度
cv2.drawContours(source, contours, -1, (255, 255, 0), 15)
cv2.namedWindow('contours', 0)
cv2.imshow("contours", source)
cv2.waitKey(0)
cv2.destroyAllWindows()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值