草庐IT

opencv_traincascade

全部标签

java - 优化 GrabCut 在 opencv-java 中的性能

最近我接到了一个项目,我必须从给定的图像中提取面部(面部+头发)。我正在通过以下方式解决这个问题。我正在从给定图像中提取人脸位置。[我得到一个矩形]我正在提取该矩形并将其放置在另一个与输入图像尺寸相同的图像中。[face_image]我正在对第2步的face_image应用grabCut算法。当face_image包含平滑背景时,算法grabCut效果很好,但是当face_image的背景很复杂时,算法grabCut也会提取部分背景处理后的图像。这是我得到的结果的快照。这是我的grabCut代码:publicvoidextractFace(Matimage,StringfileName

1.OpenCV 运行环境配置(Python)

一、安装Python1.在Python官网下载Python。DownloadPython|Python.org下载有点慢,需耐心等一等。(用迅雷下载挺快)2.下载完后,一步一步的安装即可。我本地安装在D:\Python\,路径可以自定义。安装时勾选了添加环境变量,在cmd里就可以直接用python命令了,如果安装时没勾选添加环境变量,需手动加一下。3.win+r运行cmd命令,输入:python,可以检查是否安装成功,并查看python版本。 二、安装OpenCV这里我们用直接编译好的文件,通过Python的pip命令进行安装。1.设置Python的pip源:在安装OpenCV前,我们可以设置

Opencv实现抠图

importcv2ascvimportmatplotlib.pyplotaspltimg1=cv.imread(r"C:\Users\Administrator\Desktop\logo.png")rows,cols=img1.shape[0:2]img2=cv.imread(r"C:\Users\Administrator\Desktop\Messi.jpg")roi=img2[0:rows,0:cols]img1_gray=cv.cvtColor(img1,cv.COLOR_BGR2GRAY)ret,img1_thres=cv.threshold(img1_gray,200,255,cv.

【Opencv】----- 图片无缝融合

上次写了一篇关于GAN缺陷生成的图片的,发现大家的对这个根本不感兴趣,可能是用于在座的各位觉得样本有的是,我为什么还苦哈哈的去生成啊,说的也不是没有道理,可能只是我搞了更加苦哈哈的工业深度学习吧,所以这种技术才显得格外感兴趣,最讨厌听到的客户说,你要那么多图片干什么,谁谁家的软件就不需要这么多图片。直接大写的无语。既然大家都不感兴趣,那我就换个话题。那我们就来说一说缺陷图片和正常图片无缝融合(反正GAN生成的了的缺陷还是要和正常图片融合),先来看看大家理解的几种融合。1.cv2.addWeighted(img1,0.5,img2,0.5,0)这种其实就是img1,img2两张图片对应像素对应加

opencv基础-07-感兴趣区域(ROI)

在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区域(RegionofInterest,ROI)。在设定感兴趣区域ROI后,就可以对该区域进行整体操作。以下是一些OpenCVROI应用场景的例子:目标检测和跟踪:在计算机视觉中,目标检测和跟踪是常见的任务。通过使用ROI功能,可以选择感兴趣的区域,并在该区域上应用特定的目标检测和跟踪算法,从而提高处理速度和准确性。图像分割:ROI可以用于图像分割任务,将图像分成不同的区域或对象。通过选择感兴趣的区域,可以将处理集中在关键区域,提高图像分割的效果。物体识别和分类:在物体识别和分类任务中,ROI可以用于选择物体所在的区域

OpenCV(三)——图像分割(三)

目录6.区域生长算法6.1区域生长概要6.2区域生长原理7.分水岭算法7.1分水岭算法概要

OpenCV - cv::Mat与unsigned char*数组或者float*数组相互转换,cv::Mat与std::vector的相互转换

1使用常规方法将cv::Mat转换为unsignedchar数组或者float数组通常情况下,在同一个opencv项目传递cv::Mat可直接通过constcv::Mat&img这种方式传递,但是如果需要进行跨语言传递,比如C++传递到C#或者C#传递到C++,那么通常这种情况下需要将cv::Mat转换为内存指针比如unsignedchar指针或者float指针进行传递。1.1cv::Mat转换为unsignedchar数组、unsignedchar数组转换为cv::Mat#include#include"opencv/cv.h"#include"opencv2/opencv.hpp"void

Could not find a configuration file for package “OpenCV“ that is compatible with requested version “

错误详情:Couldnotfindaconfigurationfileforpackage"OpenCV"thatiscompatiblewithrequestedversion"3.0".Thefollowingconfigurationfileswereconsideredbutnotaccepted:/usr/lib/aarch64-linux-gnu/cmake/opencv4/OpenCVConfig.cmake,version:4.2.0--Configuringincomplete,errorsoccurred!这个错误提示是在使用CMake构建项目时出现的,原因是CMake无法

5. QT环境下使用OPenCV(基于TCP实现摄像头图像数据的多线程传输)

1.说明通常情况下对于图像数据的采集可以放在后端进行,采集到的图像数据如果有需要可以通过通信将数据传输到前端进行显示,这其中需要使用到TCP数据传输协议和QT下的多线程开发技术。QT当中主线程一般是界面层次的,在主线程中执行耗时较长的数据操作,会引起界面的卡顿,可以将耗时事件放在子线程中进行处理。本博文即采用多线程的方式,在主线程中读取摄像头数据并显示在界面上,同时在子线程中将图像数据通过TCP协议发送至服务端进行显示。效果展示:tcp图像传输2.具体实现(客户端)2.1项目结构在客户端中需要实现对摄像头数据的读取,此文中以一个视频文件代替,使用opencv进行视频的读取,同时需要创建子线程,

学习笔记:Opencv实现拉普拉斯图像锐化算法

2023.8.19为了在暑假内实现深度学习的进阶学习,Copy大神的代码,记录学习日常图像锐化的百科:图像锐化算法-sharpen_lemonHe_的博客-CSDN博客在环境配置中要配置opencv:pipinstallopencv-contrib-pythonCodeandlena.png:注意你是否在data下由lena.png#-*-coding:utf-8-*-#Author:Vincent#Time:2018-05-19#Func:LaplacianSharpenfromPILimportImageimportnumpyasnp#读入原图像img=Image.open('./data