最近有个项目需要实现二维码的识别和摄像头的数据采集。在开始正式项目之前,我决定用python写几行简单的代码来测试每个库的识别效果。这次没有连续测量,也没有使用多线程识别。只是简单的测试了每个二维码的测试效果。这次测试的有opencv 4.2的QRCodeDetector库,BoofCV的库,Quirc,Zbar和ZXing。视频的采集统一使用cv的VideoCapture,视频的存储统一使用cv            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-08 09:54:31
                            
                                148阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 霍夫曼编码  霍夫曼编码对每个信源符号产生可能最小数量的编码符号。第一步是通过对所考虑的符号的概率进行排序,并将具有最小概率的符号合并为一个符号代替下次信源化简过程的符号,从而创建一个简化信源系列,过程如下图所示,重复合并直到信源只有两个符号的简化信源为止:  第二步是对每个化简后的信源进行编码,从最小的信源开始,直到遍历原始信源。对两个符号信源的最小长度的二值码是0和1,这些符号被分配给最            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-07 14:09:46
                            
                                63阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            程序:# -*-coding:utf-8 -*- import cv2 as cvimport numpy as np # 加载图片            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-02 10:12:06
                            
                                838阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目的:使用opencv库识别QR二维码,框出图片中的二维码,并使            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-10 10:19:30
                            
                                1064阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用Python OpenCV识别倾斜的一维码
在图像处理中,识别一维码(如条形码)是一个常见的需求。然而,倾斜的一维码往往会影响识别的准确性。本文将介绍如何使用Python和OpenCV来有效识别倾斜的一维码,并提供相关的代码示例。
## 1. 环境准备
在开始之前,需要确保已经安装了以下库:
- OpenCV
- NumPy
- pyzbar(用于解码条形码)
可以使用以下命令安装            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-17 05:08:19
                            
                                350阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一维码由一组规则排列的黑色线条、白色线条以及对应的字符组成。对倾斜的(没有严重形变)一维码的角度校正,可以根据其黑白相间、排列规则的特点,计算傅里叶频谱,通过傅里叶频谱中直线的倾斜角度计算空间域图像一维码需校正的角度。先贴出来待校正的一维码和其傅里叶频谱图:         
傅里叶频谱中亮度值代表了频率变化的强弱,直线的方向代表了频率变化的方向。上图傅里叶频谱中最亮的那条线就是与一维码黑白相间条            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-08-13 11:39:00
                            
                                442阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一、 二、 #include "opencv2/opencv.hpp" #include <QDebug> using namespace std; using namespace cv; int main(int argc, char *argv[]) { cv::Mat img = imread            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-05-19 11:24:00
                            
                                303阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Datamatrix原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明。 Datamatrix是一种矩阵式二维条码,其发展的构想是希望在较小的条码标签上存入更多的资料量。Datamatrix的最小尺寸是目前所有条码中最小的,尤其特别适用于小零件的标识,以及直接印刷在实体上。 本文介绍的是使用libdmtx结合Op            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 11:42:25
                            
                                1508阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            完成了opencv基础知识学习,现在进行实践操作1、生成随机四位数字验证码import os
import random
# captcha是用于生成验证码图片的库,可以 pip install captcha 来安装它
from captcha.image import ImageCaptcha
def random_captcha_text(num):
    # 验证码列表
    ca            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 23:58:30
                            
                                533阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            二维码和车牌识别基本都会涉及到图像的校正,主要是形变和倾斜角度的校正,一种二维码的畸变如下图:这个码用微信扫了一下,识别不出来,但是用Zbar还是可以准确识别的~~。这里介绍一种二维码校正方法,通过定位二维码的4个顶点,利用仿射变换校正。基本思路:滤波->二值化->膨胀(腐蚀)操作->形态学边界->寻找直线->定位交点->仿射变换校正->Zbar识别。滤波            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-08-12 23:40:00
                            
                                2157阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            目录:机器视觉(一):概述机器视觉(二):机器视觉硬件技术机器视觉(三):摄像机标定技术机器视觉(四):空域图像增强机器视觉(五):机器视觉与世界杯机器视觉(六):频域图像增强机器视觉(七):图像分割机器视觉(八):图像特征提取机器视觉(九):图像配准机器视觉(十):印刷体字符识别机器视觉(十一):一维条码识别??以下为正文??                  
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-24 17:58:18
                            
                                117阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用Opencv+Zbar组合可以很容易的识别图片中的二维码,特别是标准的二维码,这里标准指的是二维码成像清晰,图片中二维码的空间占比在40%~100%之间,这样标准的图片,Zbar识别起来很容易,不需要Opencv额外的处理。
下边这个例程演示两者配合对条形码和二维码的识别:
#include "zbar.h"    
#include "cv.h"    
#include "highgu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-08-05 23:11:00
                            
                                925阅读
                            
                                                        
                                点赞
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            目的:使用opencv库识别QR二维码,框出图片中的二维码,并使用            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-10 10:16:51
                            
                                742阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近在学习的内容之一,整理一下,图片均为网络图片。提及的条形码主要为EAN-13码。一、概念条形码由宽度不同、反射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达一组数字、字母信息的图形标识符。 工业25码 EAN-13码为什么用黑色、白色来表示条形码? 因为两种颜色有截然不同的反射率,众所周知,黑色吸收光中的所有颜色,白色反射光中的所有颜色。当然,也可以用其他两种颜色来表示条            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-13 21:53:30
                            
                                168阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            YOLOV5识别滑块和缺口前言一、YOLOV5二、数据集标注三、训练总结 前言在上一篇文章中,总体概述了滑块该种类型滑块验证码的识别方案。今天这篇文章将阐述如何使用YOLOv5来识别滑块和缺口一、YOLOV5YOLOV5是一种实用方便的目标检测框架,能够很容易的就使用起来,非常友好,只需要准备好自己的数据集,就可以完成自定义的目标检测任务。因此,在这个项目中我选择了YOLOv5来快速实现我的需求            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-12 09:41:24
                            
                                350阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            C++使用opencv4.0调用tensorflow训练的ssd_mobilenet_v1_coco_2017_11_17模型并进行物体识别安装所需软件/库Step0. 确保已安装python或Anaconda3Step1. 生成opencv可调用的pbtxt文件Step2. 调用模型并识别物体 参考资料:
How to load Tensorflow models with OpenCV;
O            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-08 16:57:28
                            
                                34阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            背景:最近在学习OpenCV,在CV群里有个人问了一个问题,就是个了一幅图片,识别里面的细胞,并且识别出细胞的总个数。原图如下所示:图中白色的细胞。分析:1、首先要定位到细胞,就是确定细胞的位置。这个很容易办到,进行二值化就可以得到清晰的黑白轮廓,然后通过寻找连通域可以圈出图中细胞的位置。2、识别定位到细胞的总个数。这个就有点难办了。难点1:细胞重叠了怎么算。难点2:怎么才能识别为单个细胞,怎么算            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 14:43:42
                            
                                221阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            安装pip3 install qrcode -i https://pypi.douban.com/simple基础使用import os
import qrcode
path = os.path.join(os.path.dirname(settings.BASE_DIR), 'scripts', 'a.jpg')
qrcode.make('').save(path)其他案例import             
                
         
            
            
            
            实验目标: 完成一个人脸识别的程序,可以识别你宿舍的几位同学人脸检测人脸特征提取与比对 需要识别的人物: 输入待识别图像,判断是哪一个舍友识别效果:人脸检测框定,返回室友的名字:唐悠悠-tyy参考资料:https://docs.opencv.org/4.5.4/d0/dd4/tutorial_dnn_face.html 人脸检测器: cv2.FaceDetectorY            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 13:57:21
                            
                                182阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Python3 识别验证码(opencv-python)一、准备工作使用opencv做图像处理,所以需要安装下面两个库:  pip3 install opencv-python
pip3 install numpy  二、识别原理采取一种有监督式学习的方法来识别验证码,包含以下几个步骤:图片处理 - 对图片进行降噪、二值化处理切割图片 - 将图片切割成单个字符并保存人工标注 - 对切割的字符图片进