精华内容
下载资源
问答
  • OpenCV预处理

    2020-03-23 19:20:28
    OpenCV预处理 # 1 load xml 2 load jpg 3 haar gray 4 detect 5 draw import cv2 import numpy as np # load xml 1 file name face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') eye_xml = ...

    OpenCV预处理

    # 1 load xml 2 load jpg 3 haar gray 4 detect 5 draw
    import cv2
    import numpy as np
    # load xml 1 file name
    face_xml = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    eye_xml = cv2.CascadeClassifier('haarcascade_eye.xml')
    # load jpg
    img = cv2.imread('jyen2.jpg')
    cv2.imshow('src',img)
    # haar gray
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    # detect faces 1 data 2 scale 3 5
    faces = face_xml.detectMultiScale(gray,1.3,5)
    print('face=',len(faces))
    # draw
    index = 0
    for (x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        roi_face = gray[y:y+h,x:x+w]
        roi_color = img[y:y+h,x:x+w]
        # 将检测到的人脸图片保存到本地 强制转换 
        fileName = str(index)+'.jpg'
        # 图片保存
        cv2.imwrite(fileName,roi_color)
        index = index + 1
        # 1 gray
        eyes = eye_xml.detectMultiScale(roi_face)
        print('eye=',len(eyes))
        #for (e_x,e_y,e_w,e_h) in eyes:
            #cv2.rectangle(roi_color,(e_x,e_y),(e_x+e_w,e_y+e_h),(0,255,0),2)
    cv2.imshow('dst',img)
    cv2.waitKey(0)
    
    
    

    结果:人脸0.jpg 写入文件架

    在这里插入图片描述

    展开全文
  • 目录 2、OpenCV的预处理 -->OpenCV [开源库]介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows...(1)、OpenCV预处理算子 (2)、力推 贾志刚老师教...

    目录

    2、OpenCV的预处理

    (1)、OpenCV预处理算子

    (2)、力推 贾志刚老师教程和红胖子等

    (3)、网站推荐为翻墙的国外网站,尤其是【learnopencv】等

    结尾


    2、OpenCV的预处理

     

    OpenCV [开源库]介绍
             OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1]  它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。【摘自百度】

    OpenCV与halcon都是视觉第三方库,但本质及使用手法有很大不同
    OpenCV 面向于底层源码型,开发周期比较长,但算法健壮性,时效率高
    halcon 多属于封装好的API,开发起来快速部署,但算法局限性大

     

    开源有开源的弊端 -->  cmake [编译不同版本]
    导致代码算法model,维护起来不统一,每个开发人员发布版本不一
    有好有坏,好的是版本保护,坏的是代码维护,假如出现一个bug,大家都没碰过的[目测砸键盘]
    尤其是开发分为C++派和Python派,两者语言差异性很大,曾试过翻译,有些底层真的不好替换

    (1)、OpenCV预处理算子

    OpenCV的算子普遍都是解决像素及图像矩阵的,通过数学底层原理,手法为图像内核,锚点等来处理图像。
    预处理过程一般有数字化、几何变换、归一化、平滑、复原和增强等步骤。

    (2)、力推 贾志刚老师教程红胖子

    (3)、网站推荐为翻墙的国外网站,尤其是【learnopencv】等

    结尾

    OpenCV篇章比较短,因为主要是介绍,开源的库,网上资源很多
    核心部分关乎到在职企业的知识保护,但还是那句话,入门靠自己,OpenCV远比其他难的多
    往深的学习,又涉及深度学习方面

     

    展开全文
  • opencv预处理图像

    2020-01-17 16:44:41
    1 改变图像大小 标题看起来了简单,但是改变图像大小却对小目标的检测有利。cv2中CV_INTER_NN、CV_INTER_...查看opencv文档 INTER_AREA - resampling using pixel area relation. It may be a preferred method ...

    1 改变图像大小
    标题看起来了简单,但是改变图像大小却对小目标的检测有利。cv2中CV_INTER_NN、CV_INTER_LINEAR 、CV_INTER_AREA、CV_INTER_CUBIC到底什么条件用什么呢?查看opencv文档
    INTER_AREA - resampling using pixel area relation. It may be a preferred method for image decimation, as it gives moire’-free results. But when the image is zoomed, it is similar to the INTER_NEAREST method.
    为什么这里的缩放大小采取32的倍数呢,是因为自然场景OCR检测(YOLOv3+CRNN),CRNN论文中采用的就是高度为32的

    def resize_image2(w, h):
        resize_w = w
        resize_h = h
    
        # limit the max side
        if max(resize_h, resize_w) > MAX_LEN:
            ratio = float(MAX_LEN) / resize_h if resize_h > resize_w else float(MAX_LEN) / resize_w
        else:
            ratio = 1.
        resize_h = int(resize_h * ratio)
        resize_w = int(resize_w * ratio)
        resize_h = resize_h if resize_h % 32 == 0 else (resize_h // 32 + 1) * 32
        resize_w = resize_w if resize_w % 32 == 0 else (resize_w // 32 + 1) * 32
        return resize_w, resize_h
    

    2 像素扩张算法
    2.1 分水岭算法
    图像处理——分水岭算法

    展开全文
  • 目录 机器视觉重要知识点总结 图像处理--...2、OpenCV预处理【待续】 机器视觉重要知识点总结 图像处理---预处理【图像处理部分】 引子 一张图像怎么处理? 相机拍照取图---> 相机采集抛上来一...

    目录

     

     

    机器视觉重要知识点总结    图像处理---预处理【图像处理部分】

    引子

    1、Halcon的预处理

    a、处理图像预处理算子

    b、图像的加、减、乘、除

    c、图像的gamma变换、log变换和pow变换

    d、图像最大值处理、最小值处理

    e、图像增强

    f、示例

    2、OpenCV的预处理【待续】


     

    机器视觉重要知识点总结
        图像处理---预处理【图像处理部分】

     

    引子

    一张图像怎么处理?

             相机拍照取图--->   相机采集抛上来一张图片  【需求】算法处理---> 返回结果[OK NG Unknow]

             图像的预处理是对相机采集图片的再次像素加工

    --->便于后续特征提取【ROI】

    万事开头难?

           一张图像,可以能为多少种类型?

           图像 format---> jpg,bmp,png等  

           图像 classes---> 彩色图像,黑白图像

           图像 channel---> 3通道,单通道

    1、Halcon的预处理

    a、处理图像预处理算子

    消除噪声
    mean_image(Image : ImageMean : MaskWidth, MaskHeight : )
    binomial_filter(Image : ImageBinomial : MaskWidth, MaskHeight : )
    
    抑制小斑点或细线
    
    median_image(Image : ImageMedian : MaskType, Radius, Margin : )
    
    
    灰度值的开运算和闭运算
    gray_opening_shape(Image : ImageOpening : MaskHeight, MaskWidth, MaskShape : )
    gray_closing_shape(Image : ImageClosing : MaskHeight, MaskWidth, MaskShape : )
    
    图像平滑
    smooth_image(Image : ImageSmooth : Filter, Alpha : )
    
    图像平滑但尽可能保留边缘
    anisotropic_diffusion(Image : ImageAniso : Mode, Contrast, Theta, Iterations : )

    b、图像的加、减、乘、除

    加
    add_image(Image1, Image2 : ImageResult : Mult, Add : )
              g’ := (g1 + g2) * Mult + Add
    减
    sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )
              g’ := (g1 - g2) * Mult + Add
    乘
    mult_image(Image1, Image2 : ImageResult : Mult, Add : )
              g’ := (g1* g2) * Mult + Add
    除
    div_image(Image1, Image2 : ImageResult : Mult, Add : )
              g’ := (g1 /g2) * Mult + Add

    c、图像的gamma变换、log变换和pow变换

    gamma_image(Image,GammaImage,Gamma,Offset,Threshold,MaxGray,Encode)
       
       halcon标准gamma变换的参数设置。
        对于sRGB standard,Gamma = 1.0/2.4, Offset = 0.055, Threshold = 0.0031308;
        对于HDTV video standard,Gamma = 0.45, Offset = 0.099, Threshold = 0.018
    
    log_image(Image,LogImage,Base)
         Base为对数的底,一般取自然对数e, 2, 10等
    
    pow_image(Image,PowImage,Exponent)
         Exponent为指数,一般取0.25, 0.5, 2, 3, 4等

    d、图像最大值处理、最小值处理

    比较两幅图像每个像素的灰度值大小,并将较大/较小灰度值作为新图像该像素点的灰度值。
    
    max_image(Image1, Image2 : ImageMax : : )
    
    min_image(Image1, Image2 : ImageMin : : )
    
    scale_image(Image : ImageScaled : Mult, Add : )
    scale_image_max(Image : ImageScaleMax : : )
    
    求图像最小灰度值和最大灰度值
    min_max_gray (Image, Image, 0, Min, Max, Range)*拉伸灰度值
    scale_image_max (Image, ImageScaleMax)
    求图像最小灰度值和最大灰度值
    min_max_gray (ImageScaleMax, ImageScaleMax, 0, Min, Max, Range)
    

    e、图像增强

    灰度值线性变换
    
    算子实现线性变化,呈现效果会让黑的地方更黑,亮的地方更亮。
    scale_image(Image : ImageScaled : Mult, Add : )
    将灰度值拉伸到0-255
    scale_image_max(Image : ImageScaleMax : : )
    
    增强图像对比度
    emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )
    illuminate(Image : ImageIlluminate : MaskWidth, MaskHeight, Factor : )

    f、示例

    read_image (Image, 'test')
    get_image_size (Image, Width, Height)
    decompose3 (Image, R, G, B)
    emphasize (R, ImageEmphasize, Width, Height, 1)
    median_image (ImageEmphasize, ImageMedian, 'circle', 5, 'mirrored')
    gray_opening_shape (ImageMedian, ImageOpening, 5, 5, 'octagon')

     

     

     

    2、OpenCV的预处理【待续】

     

    OpenCV 底层逻辑
    

     

    展开全文
  • 使用opencv处理后,提高识别精准度。处理方法有 a.图片转成白底黑字。 b.截取图片某固定区域。这个很重要,因为图片包含图标或其他形状图形,辨识导致错乱的。 二、opencv 处理 import cv2 #加载图片 image ...
  • 使用Pytorch训练通常使用Torchvision的transforms进行预处理,transforms提供了丰富的数据增强手段,但是transforms.Resize和OpenCV的resize会有一定差异,这会导致我们使用C++去部署pytorch训练的model时候可能会有...
  • 本人小白一枚,想请问怎么把这图片外面不是布的部分还有布上用笔画的线条都给处理掉?毕设要做织物的疵点检测,老师给的图就这样..[img=https://img-bbs.csdn.net/upload/201704/26/1493174843_540184.png][/img]
  • Opencv图像预处理

    千次阅读 2019-01-16 16:11:47
    gamma校正(基于OpenCV) 2017年10月25日 18:39:10 guoyunfei20 阅读数:802 Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系。 指数γ即为Gamma 经过Gamma校正...
  • 本程序主要是对图像进行预处理和对图像中的数字提取,并进行识别的,对有一定的经验的程序员开发图像处理和数字识别有一定的参考价值.
  • 图像处理 使用OpenCV进行预处理(相机)图像的实验。
  • 一. 我们经常要在图像上处理字符背景,将字符分割出来。如下图: 正在上传…重新上传取消
  • 二 使用cv2 一些图像预处理函数   import cv2 from skimage import data_dir,io,color import numpy as np import random sigma = random.uniform(2.5,3.5 ) # 高斯噪声函数,这里写的是按像素点...
  • Python Opencv 图像预处理(平滑,旋转,反转,扩充) 做cv项目,由于采集图片不能直接使用,先进行了一定的处理,这里做个记录方便日后查看,又可以给大家一个参考 import os import cv2 from PIL import Image ...
  • OPENCV实现图像预处理

    2016-07-19 20:50:54
    opencv2.4.4实现图像的增强、几何变换、傅氏变换、形态学处理、图像分割等,适合初学者借鉴。
  • 基于 opencv 实现对图像的的预处理 基于 opencv 对图像的预处理 1.问题描述 本次设计是基于 opencv 结合 c++语言实现的对图像的预处理opencv 是用 于开发实时的图像处理计算机视觉及模式识别程序其中图像的预处理也...
  • 一.要求 完成图像采集系统的设计优化,并能进行简单的图像预处理,包括降噪、轮廓提取、二值化,能为后期图像配准和融合提供良好的工作基础。 二.设计思路 刚开始,我是想
  • # 用torch.nn.ModuleList套上你想要的处理,用P指定概率 transforms = transforms.RandomApply(torch.nn.ModuleList([ transforms.... ]), p=0.3) scripted_transforms = torch.jit.script...
  • opencv_图像预处理

    千次阅读 2017-03-13 00:27:33
    中值滤波: void medianBlur(InputArray src,OutputArray dst,int ksize); src-- 输入图像 dst--输出图像,必须与src相同类型  ksize — 内核大小 (只需一个值,因为使用正方形窗口),必须为奇数。
  • 就需要提前进行预处理 import numpy as np import os import random import cv2 # wuao文件名修改,1~10文件名 filename = os.listdir('./faces/wuao/') for i,name in enumerate(filename): os.re...
  • 它不仅能用来实现各种复杂的算法,还能够对图像进行预处理:包括图像的平移、旋转、缩放、翻转、裁剪。 最近一位来自印度的小哥Raoof Naushad发布了一篇相关教程,希望把这些知识分享给初学者。 图像平移 我们使用...
  • 安装 OpenCV 使用首选的包管理器安装 OpenCV conda install -c conda-forge opencv pip install opencv-python 读取图片 我将以我最喜欢的一本书的第一版的封面为例。让我们首先读取图像,指定要读取图像的颜色类型...
  • #include #include #include   using namespace std; using namespace cv; int main(int argc, char** argv) { const char* filename = "YinZhang\\0004.jpg";...IplImage * pSrcImg=NULL;...IplImage
  • OpenCV笔记】图像预处理

    万次阅读 2014-07-25 17:18:57
    对输入的任意一张图片要做预处理,本文的预处理主要有:灰度化、尺寸归一化、灰度直方图均衡化
  • nvjpeg与opencv 解码和预处理耗时对比 1. opencv c++与python jpeg decode对比 环境 CPU: AMD Ryzen 5 5600X 6-Core Processor 3.70 GHz 内存:32.0 GB C++ vs2017 MSVC编译器工具集 python 3.6.8 测试图片有两类...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,312
精华内容 4,524
关键字:

opencv预处理