我正在尝试读取微管底部的数据矩阵条形码.我试过

libdmtx有python绑定并且当矩阵的点是正方形时工作得相当好但是当它们像这里一样圆时更糟糕:

另一个复杂因素是闪耀,在某些情况下到达代码区域.

条形码在平板扫描仪上的架子中扫描,因此它们具有恒定的尺寸并且大致居中.方向是随机的.

我得出结论,我必须自己找到代码并改善图像.我使用python和OpenCV 3.1.我已经尝试过阈值处理,轮廓:

import matplotlib.pyplot as plt

import numpy as np

import cv2

well = plt.imread('https://i.stack.imgur.com/kqHkw.png')

well = cv2.cvtColor(well, cv2.COLOR_BGRA2GRAY)

plt.subplot(151); plt.imshow(well)

x, thr = cv2.threshold(well, .4[enter image description here][2], 1, cv2.THRESH_BINARY)

thr = np.uint8(thr)

plt.subplot(152); plt.imshow(thr)

dst, contours, hierarchy = cv2.findContours(thr.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

c = cv2.drawContours(np.zeros_like(thr), contours, -1, 255, 1)

plt.subplot(153); plt.imshow(c)

areas = map(lambda x: cv2.contourArea(cv2.convexHull(x)), contours)

max_i = areas.index(max(areas))

d = cv2.drawContours(np.zeros_like(thr), contours, max_i, 255, 1)

plt.subplot(154); plt.imshow(d)

rect = cv2.minAreaRect(contours[max_i])

box = cv2.boxPoints(rect)

box = np.int0(box)

e = cv2.drawContours(np.zeros_like(thr),[box],0,255,1)

plt.subplot(155); plt.imshow(e)

plt.show()

python读取定位_如何使用python定位和读取Data Matrix代码相关推荐

  1. load python txt文件_详解Python中numpy.loadtxt()读取txt文件

    为了方便使用和记忆,有时候我们会把 numpy.loadtxt() 缩写成np.loadtxt() ,本篇文章主要讲解用它来读取txt文件. 读取txt文件我们通常使用 numpy 中的 loadtx ...

  2. python3读取本地_如何使用Python读取本地存储?

    我必须使用Python来自动访问(阅读)网页.使用Python,我可以轻松访问网页的内容(HTML代码)以及服务器发送的cookie. 现在,在HTML5中,我们有了一个新概念"本地存储&q ...

  3. python读取网站_科学网—python 获取网址 - 林清莹的博文

    Python获取网址的内容# coding=utf-8 import urllib url = "http://www.baidu.com" data = urllib.urlop ...

  4. python 生成器 原理_你知道python中的函数、生成器的工作原理吗?

    1.python中函数的工作原理 python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c函数)运行foo()函数 首先会创建一个栈帧(stack Fram ...

  5. python len函数_知识清单Python必备的69个函数,你掌握了吗?

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  6. python正则表达式操作指南_比较详细Python正则表达式操作指南(re使用)

    就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.使用这个小型语言,你可以为想要匹配的相应字符串集指定规则:该 ...

  7. python数控机器人_科研一角|Python语言在人工智能加工中心机器人方面的应用

    原标题:科研一角|Python语言在人工智能加工中心机器人方面的应用 科研一角|Python语言在人工智能加工中心机器人方面的应用 (一)Python在智能机器人编程技术中的应用 用Python编写的 ...

  8. python绘制女孩_如何借助 Python 俘获女孩子芳心?

    责编 | 刘静 天气降温,感情却升温了? 上午刚到公司,就收到小Q发来的灵魂拷问: ​ ​ "Q仔!要不然下午请个假!我带你去精神科看看!?"我实在忍不了,脱口而出. 话音未落,前 ...

  9. python 报表框架_现在学Python还不晚!阿里巴巴推荐的Python学习教程,分享给大家...

    在互联网信息爆炸的时代,我们经常面临各种与信息搜集有关的事情,但是信息来源网站多,信息量大,如果采用常规的人工搜索+office软件整理,往往要花费大量的时间. 这里为大家介绍一个门槛低.易上手的工具 ...

  10. python 报表框架_现在学Python还不晚!阿里巴巴推荐的Python学习教程,分享给大家!...

    在互联网信息爆炸的时代,我们经常面临各种与信息搜集有关的事情,但是信息来源网站多,信息量大,如果采用常规的人工搜索+office软件整理,往往要花费大量的时间. 这里为大家介绍一个门槛低.易上手的工具 ...

最新文章

  1. 谷歌CEO称公司预计每月收购一家小公司
  2. webpack loader的套路
  3. HTML DOM 属性
  4. 极市电大 | 京东AI时尚挑战赛Top3技术方案
  5. php+如何按文字分割文件夹,PHP实现的大文件切割与合并功能示例
  6. 高德地图AmapSDKDemo运行
  7. centos Ipython安装
  8. Spring mvc @ModelAttribute
  9. windows安装多个jdk版本的切换问题
  10. tomcat本地服务器配置好了考到别的机器上项目都错了e,【Tomcat】项目部署和运行时遇到的坑(玄学?)...
  11. Android数据库框架LitePal详解
  12. 最简单的电脑上截长图的方法
  13. 蓝牙调试工具如何使用_更新:使用此有价值的工具改进您的蓝牙项目
  14. 怎样批量更改文件夹里的文件名称?
  15. 将8位的tif图片改为png图片
  16. Python爬虫豆瓣T250电影
  17. 什么是VIE:Variable Interest Entities
  18. oracle11g数据备份,oracle11g备份还原
  19. 喜马拉雅随车听开通啦
  20. 计算机合成音乐的交换标准,音乐合成器

热门文章

  1. linux内核page结构体的PG_referenced和PG_active标志
  2. 熟知四种常见的BIOS信息说明【7gyy】
  3. php独孤九剑,针对浏览器隐藏CSS之独孤九剑_经验交流
  4. widows安装wxPython
  5. FANUC机器人:奇异点回避功能介绍与使用方法
  6. 矩阵相抵的一道例题(对称+主子式)
  7. JavaScript中0.1 + 0.2 等于多少
  8. 程序员颈椎疼调整办法
  9. 微信分享自定义图标大小限制_微信分享时安卓的自定义参数无效的解决办法
  10. 学校生均计算机台数统计表,学校计算机数量名称、型号、数量、发布情况统计表...