图像处理大大大大大牛啊
购买了专栏的可以加好友一对一指导
展开
-
OpenCV使用CMake和MinGW-w64的编译安装
编译好之后 把install里面的文件 放入上层 并删除掉其他文件 就可以用了。将文件解压到D盘 并重命名mingw-w64ucrt-12.0.0-r1。下载 ,我这里使用opencv4.10,下载并解压到D盘。个线程进行编译,请根据你的计算机配置合理设置线程数)点击 Configure,设置编译器。打开终端进行编译:(原创 2024-09-11 20:34:08 · 454 阅读 · 0 评论 -
windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流
新建一个rtsp的文件夹解压进去,会得到两个文件。将bin/ffmpeg.exe 解压到之前的目录。双击运行mediamtx.exe即可开启服务。下载 RTSP服务器 下载页面。原创 2024-04-18 00:21:00 · 1752 阅读 · 2 评论 -
计算向量夹角度数
【代码】计算向量夹角度数。原创 2024-01-17 16:36:14 · 239 阅读 · 0 评论 -
yolov5-6.1 opencv dnn onnx推理python,c++
yolov5-6.1 opencv dnn onnx推理python,c++代码原创 2022-03-16 13:25:49 · 8118 阅读 · 7 评论 -
opencv 轮廓排列规则
【代码】opencv 轮廓排列规则。原创 2023-10-08 18:43:21 · 406 阅读 · 0 评论 -
目标分割后 opencv 轮廓骨架计算
【代码】目标分割后 opencv 轮廓骨架计算。原创 2023-08-07 19:50:33 · 549 阅读 · 0 评论 -
人脸识别 宿舍门禁系统(python qt opencv带数据库)
人脸识别 宿舍门禁系统(python qt opencv带数据库)原创 2020-11-21 10:07:53 · 12022 阅读 · 8 评论 -
opencv读取摄像头不是实时的处理方法
这个例子使用了一个VideoCapture类,该类在一个线程中不断读取摄像头帧,并将它们保存在一个共享的grabbed和frame变量中。在主程序中,我们通过调用start()方法来启动线程,然后不断读取帧并在窗口中显示它们,直到用户按下’q’键退出。你可以在一个线程中读取摄像头的帧,并将它们传递到另一个线程或进程中进行处理和显示。需要注意的是,这个例子仅仅是一个基本的框架,你可能需要对其进行修改和扩展以适应你的具体应用场景。例如,你可以添加一个另一个线程来处理帧,然后显示处理后的结果,以此来减少延迟。原创 2023-03-21 13:51:45 · 778 阅读 · 0 评论 -
暴力匹配阈值的基准细胞检测方案
检测基准孔色彩分析峰值分析阈值分割细胞筛选from calendar import cimport cv2 import threadingimport numpy as npfrom glob import globimport matplotlib.pyplot as pltdef SLT(img, x1, x2, y1, y2): lut = np.zeros(256) for i in range(256): if i &l原创 2022-04-21 08:11:36 · 197 阅读 · 0 评论 -
python 桌面截图opencv显示的三种方式比较,及c++ 桌面截图源码
win32api 的速度是最快的。#!/usr/bin/ python# -*- encoding: utf-8 -*-'''@文件 :2.py@说明 :@时间 :2022/03/10 17:47:21@作者 :刘子沫@邮箱 :spiritai@qq.com@版本 :1.0'''import win32gui,win32api,win32con,win32uifrom PIL import ImageGrabimport numpy as np原创 2022-03-10 17:50:35 · 3284 阅读 · 0 评论 -
python opecv对多图片横向或纵向组合
#!/usr/bin/ python# -*- encoding: utf-8 -*-'''@文件 :1.py@说明 :@时间 :2022/03/10 10:56:33@作者 :刘子沫@邮箱 :spiritai@qq.com@版本 :1.0'''import numpy as npimport cv2def unilateralresize(image,size,axis=0): ''' 传参 : image 图像,要缩放方向的原创 2022-03-10 16:17:39 · 1614 阅读 · 0 评论 -
python 以xml形式操作svg图片
#!/usr/bin/ python# -*- encoding: utf-8 -*-'''@文件 :conv.py@说明 :python 操作svg@时间 :2022/03/08 09:22:56@作者 :刘子沫@邮箱 :spiritai@qq.com@版本 :1.0''' from xml.etree.ElementTree import ElementTree,Elementdef new_svg(): '''新建svg原创 2022-03-08 09:28:41 · 602 阅读 · 0 评论 -
opencv 图像色块分割
```python#!/usr/bin/env python# -*- coding: utf-8 -*- import cv2import numpy as np# 读入图片img = cv2.imread("picture_1.webp")img = cv2.resize(img,(1280,720))'''canny边缘检测'''gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.imshow('original', gr..原创 2022-03-07 19:40:22 · 2543 阅读 · 10 评论 -
直方图分割实战
处理直方图thimg = 二值图像black = np.zeros((256,thimg.shape[1]),dtype="uint8")data = np.sum(thimg ,axis=0)_range = np.max(data) - np.min(data)normal = (data - np.min(data)) / _range*255m = int(np.mean(normal)) #均值f = [] # 峰点n = 25 # 间隔是个像素nx = 0 # 当前可能的最大值原创 2022-03-02 15:50:27 · 1387 阅读 · 0 评论 -
基于二维码顶点的单个二维码定位方法
二维码顶点效果代码# --coding:utf-8--from Camera.sdk.Camera import Cameraimport timeimport numpy as npimport cv2def detecte(gray): '''提取所有轮廓''' # _,gray=cv2.threshold(gray,0,255,cv2.THRESH_OTSU+cv2.THRESH_BINARY_INV) gray = cv2.Canny(gray,100,原创 2021-06-23 13:47:02 · 214 阅读 · 0 评论 -
python余弦相似度
余弦相似度归一化之后的embedding向量进行点积实际上就是计算夹角余弦值>>> a = np.array([255,255,33,33,33,40])>>> b = np.array([255,255,255,33,33,40])>>> c = np.array([255,255,255,255,255,255])>>> a = a/np.linalg.norm(a)>>> b = b/np.linal原创 2021-04-06 17:27:54 · 370 阅读 · 0 评论 -
RetinaFace人脸识别算法 人脸检测 人脸关键点检测 口罩检测
RetinaFace人脸识别算法 人脸检测 人脸关键点检测 口罩检测介绍论文地址效果下载地址介绍RetinaFace来自论文RetinaFace: Single-stage Dense Face Localisation in the Wild,作者来自帝国理工学院、InsightFace、Middlesex University London、FaceSoft。RetinaFace是单步(one stage)推理人脸检测器,同时输出人脸框和5个人脸关键点信息。在GitHub上可以下载到R50和Mob原创 2021-03-25 14:03:42 · 884 阅读 · 9 评论 -
基于漫水填充的边缘查找
边缘特征方式二值化阀值ret, binary = cv2.threshold(gaussianBlur, thred , 255, cv2.THRESH_BINARY)binary = cv2.adaptiveThreshold(gaussianBlur, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)HSV颜色阀值imgHSV = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)lower = n原创 2021-03-23 16:23:34 · 132 阅读 · 0 评论 -
python opencv 通过hsv阈值法扣取药盒 并矫正
抠药盒并矫正原图效果图目录截图hsv调节代码 hsv.py扣取矫正代码 1.py原图效果图目录截图hsv调节代码 hsv.pyimport cv2import numpy as npdef stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray[0]) rowsAvailable = isinstance(imgArray[0], list) width = imgAr原创 2021-03-17 18:24:56 · 507 阅读 · 1 评论 -
numpy常用操作
numpy常用操作1.创建numpy矩阵2.查看矩阵维度3.选取第一列4.选取最后一列5.选取第一行6.选取最后一行7.选取2到4行8.选取1到2列9.选取第2列的第3行10.选取第2列的第3到5行,间隔为211.修改维度12.矩阵转置13.矩阵行倒序14.矩阵列倒序15.矩阵顺时针旋转90°(逆时针旋转270°)16.矩阵顺时针旋转180°(逆时针旋转180°)17.矩阵顺时针旋转270°(逆时针旋转90°)18.条件查找满足第1列大于300的数据满足第1列大于300`且`小于400的数据满足第1列大于3原创 2021-03-10 18:20:18 · 122 阅读 · 0 评论 -
使用opencv保存视频
使用opencv保存视频pythonc++pythonimport numpy as npimport cv2cap = cv2.VideoCapture(0);#('M','P','4','V')<('F','M','P','4')<('M', 'J', 'P','G') 不同编码视频保存的体积大小fourcc = cv2.VideoWriter_fourcc('F','M','P','4') out = cv2.VideoWriter('output.avi',fourcc,2原创 2021-02-25 15:46:28 · 1353 阅读 · 6 评论 -
检测小游戏钓鱼拉杆
根据浮漂移动距离判断拉杆import cv2import timeimport numpy as npdef target(res,pt): loc = np.where(res >= 0.9) # 匹配程度大于%90的坐标y,x a = np.hstack((loc[1].reshape(-1,1),loc[0].reshape(-1,1)))#合并矩阵 行转列 a.sort(axis=0) if pt is None: pt = [0原创 2021-02-06 16:07:01 · 237 阅读 · 0 评论 -
nanodet转pth>onnx>tensorflow seaving
tensorflow serving部署nanodetpth导出为onnx修改tools/export.py执行导出命令简化模型使用netron查看onnx转meta格式文件安装tensorflow 2.3+安装onnx-tensorflow导出pb文件夹修改文件夹结构安装docker安装nvidia-docker2安装tensorflow_serving运行docker版tensorflow_serving请求测试pth导出为onnx修改tools/export.py执行导出命令python3原创 2021-01-23 17:42:59 · 848 阅读 · 0 评论 -
使用tensorflow serving部署nanodet检测模型
环境ubuntu18.04cuda11.2k80 x 8Serving with Docker using your GPUInstall nvidia-dockerBefore serving with a GPU, in addition to installing Docker, you will need:Up-to-date NVIDIA drivers for your systemnvidia-docker: You can follow the installation in原创 2021-01-22 09:43:28 · 342 阅读 · 0 评论 -
docker nvidia json加速配置
修改/etc/docker/daemon.json(需要管理员权限),添加如下的内容:{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]", "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }原创 2021-01-19 16:06:28 · 643 阅读 · 0 评论 -
Ubuntu Bionic 18.04安装docker
Ubuntu Bionic 18.04安装docker操作系统要求卸载旧版本 :设置存储库添加 Docker 的阿里云 GPG 密钥:向 source.list 中添加Docker软件阿里云 源安装引擎库列出存储库中可用的版本:使用第二列中的版本字符串安装特定版本,例如 `5:18.09.1~3-0~ubuntu-xenial`通过运行映像验证 Docker 引擎安装是否正确。hello-world操作系统要求要安装 Docker 引擎,您需要这些 Ubuntu 版本的 64 位版本:Ubuntu原创 2021-01-19 11:21:23 · 232 阅读 · 0 评论 -
Linux服务器监控
Linux服务器监控查看cpu信息1.查看物理CPU的个数2.查看物理CPU内核的个数3.查看所有逻辑CPU的个数4.查看每个物理CPU中逻辑CPU的个数5.查询CPU是否启用超线程查看cpu信息1.查看物理CPU的个数cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l输出结果:2表示Linux服务器上面实际安装了2个物理CPU芯片。2.查看物理CPU内核的个数cat /proc/cpuinfo | grep "cpu原创 2021-01-17 13:46:45 · 100 阅读 · 0 评论 -
c++ opencv图像拼接
图像拼接SURF算法实现的拼接代码。基于ORB的图像拼接opencv自带的拼接算法stitchSURF算法实现的拼接代码。#include "highgui/highgui.hpp" #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/legacy/legacy.hpp" #include <iostream> using namespace cv;using namespace std;vo原创 2021-01-16 20:56:56 · 979 阅读 · 0 评论 -
基于c++ opencv haar的视频 图片 检测人脸简单案例源码
#include <opencv2\opencv.hpp> #include <opencv2\core\core.hpp> #include <opencv2\highgui\highgui.hpp> #include <opencv\highgui.h>#include <opencv2\imgproc\imgproc.hpp> #include <opencv2\objdetect\objdetect.hpp>原创 2021-01-14 21:45:23 · 158 阅读 · 0 评论 -
opencv和dlib人脸表情融合
opencv和dlib人脸表情融合项目要求:不使用机器学习方法,使用传统的像素变化来实现表情合成。实现效果c++ 代码实现下载完整工程vs2019 使用opencv3.4.12dlib下载地址项目要求:不使用机器学习方法,使用传统的像素变化来实现表情合成。α的取值先取的0.6,可能需要在0-1之间调参。λ取0.5即可。这样就确定了没有表情人脸如果附带了表情之后,他所带有的特征点会在什么位置,然后按照这个特征点的位置,再做一次三角剖分。这张新图记作A’。使用opencv三角刨分 并原创 2021-01-14 21:43:23 · 547 阅读 · 4 评论 -
python socketio客户端和服务端并转发到网页端核心代码
客户端from socketIO_client import SocketIOsocketio = SocketIO('http://192.168.1.12:6688')socketio.on('disconnect',sioConnect)socketio.on('connect',sioDisconnect)def sioDisconnect(*args): log('socketio连接断开:', args) def sioConnect(*args): log原创 2021-01-12 16:30:16 · 543 阅读 · 0 评论 -
统计画面上的多边形,边数和坐标保存到csv文件
import cv2import csvimport numpy as npimg = cv2.imread('1.png',1)w,h,c = img.shapeimg2 = np.zeros((w,h,c), np.uint8)img3 = np.zeros((w,h,c), np.uint8)img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)ret, dst = cv2.threshold(img_gray, 200, 255, c原创 2021-01-12 15:32:53 · 252 阅读 · 1 评论 -
使用opencv和dlib进行人脸三角刨分
使用opencv和dlib进行人脸三角刨分什么是Delaunay三角剖分?什么是Voronoi图?python 代码C++ 代码什么是Delaunay三角剖分?图:Delaunay三角剖分偏爱小角度给定平面中的一组点,三角剖分指的是将平面细分为三角形,这些点为顶点。在图1中,我们在左侧图像上看到了一组地标,在中间图像上看到了三角剖分。一组点可以有许多可能的三角剖分,但是Delaunay三角剖分之所以突出是因为它具有一些不错的特性。在Delaunay三角剖分中,选择三角形时应确保没有点位于任何三角形的原创 2020-12-30 10:41:31 · 525 阅读 · 0 评论 -
c++ dlib 68人脸关键点
1.设置包含路径2.设置lib路径3.设置lib名称4.运行代码#include <dlib/opencv.h> #include <opencv2/opencv.hpp> #include <dlib/image_processing/frontal_face_detector.h> #include <dlib/image_processing/render_face_detections.h> #include <dli原创 2020-12-25 17:06:39 · 557 阅读 · 0 评论 -
voc xml数据集增强保存
修改为自己的xml和img目录,给定新的生成目录直接运行,旋转和转置增强# -*- coding:utf8 -*-from PIL import Image #python中的图像处理库PIL来实现不同图像格式的转换。import numpy as np# Element类型是一种灵活的容器对象,用于在内存中存储结构化数据。import xml.etree.ElementTree as ET #import osimport shutil#该函数返回文件名字def standardize原创 2020-12-25 14:34:52 · 409 阅读 · 0 评论 -
voc xml文件转coco json文件格式
voc xml文件转coco json文件格式XML文件内容长什么样COCO的数据格式长什么样XML如何转化成COCO格式XML文件内容长什么样<annotation> <folder>文件夹目录</folder> <filename>图片名.jpg</filename> <path>path_to\at002eg001.jpg</path> <source>原创 2020-12-25 13:54:21 · 265 阅读 · 0 评论 -
python opencv 求两点是否过线
# ----------------------------------------------------------------------------------------------------------------------# 下面函数用于得到中心点和线的关系 --- 类似于碰撞检测# 返回 True 或者 False# -----------------------------------------------------------------------------------原创 2020-12-24 11:36:23 · 256 阅读 · 0 评论 -
python opencv已知两点坐标 求点1到点2的方向
图像内像素坐标系假设画面上点A1(x1,y1)移动到点A2(x2,y2),且方向关系如下x 为 x1到x2的距离,y 为y1到y2的距离则存在关系:西北: y1>y2 ,x1>x2,x=y东北:y1>y2,x1<x2,x=y西南:y1<y2,x1>x2,x=y东南:y1<y2,x1<x2,x=y北:y1>y2,x1=x2y1>y2,x1>x2,y>xy1>y2,x1<x2,y>x西:x1&原创 2020-12-24 10:37:31 · 700 阅读 · 4 评论 -
python,opencv 透视变换 图像效正
python,opencv 仿射变换效果代码效果代码# coding=utf-8import numpy as npimport argparseimport cv2def order_points(pts): # 初始化坐标点 rect = np.zeros((4, 2), dtype = "float32") # 获取左上角和右下角坐标点 s = pts.sum(axis = 1) rect[0] = pts[np.argmin(s)] rect[2] = pts[n原创 2020-07-12 20:47:28 · 775 阅读 · 0 评论 -
训练pytorch yolo5
结构data +Annotations +images +ImageSets ++Main +labels修改data下面的yaml文件修改model下面的对应的模型文件运行maketxt.pyimport os import random val_percent = 0.1 #验证集(实际为 0.9*0.1)train_percent = 0.9 #训练集 测试集为1-0.9xmlfilepath = 'Annotations' txtsav原创 2020-07-01 23:16:37 · 525 阅读 · 0 评论