2019-12-06 17:04:03 weixin_43991027 阅读数 18
  • OpenCV3.2 Java图像处理视频学习教程

    OpenCV3.2 Java图像处理视频培训课程:基于OpenCV新版本3.2.0详细讲述Java OpenCV图像处理部分内容,包括Mat对象使用、图像读写、 基于常用核心API讲述基本原理、使用方法、参数、代码演示、图像处理思路与流程讲授。主要内容包括opencv像素操作、滤波、边缘提取、直线与圆检测、形态学操作与分水岭、图像金子塔融合重建、多尺度模板匹配、opencv人脸检测、OpenCV跟Tomcat使用实现服务器端图像处理服务。

    4123 人正在学习 去看看 贾志刚

图像处理基本操作

1. 通道变换
2. 灰度化
3. 二值化
4. 大津二值化(otsu)

2009-06-20 09:05:00 gnuhpc 阅读数 1583
  • OpenCV3.2 Java图像处理视频学习教程

    OpenCV3.2 Java图像处理视频培训课程:基于OpenCV新版本3.2.0详细讲述Java OpenCV图像处理部分内容,包括Mat对象使用、图像读写、 基于常用核心API讲述基本原理、使用方法、参数、代码演示、图像处理思路与流程讲授。主要内容包括opencv像素操作、滤波、边缘提取、直线与圆检测、形态学操作与分水岭、图像金子塔融合重建、多尺度模板匹配、opencv人脸检测、OpenCV跟Tomcat使用实现服务器端图像处理服务。

    4123 人正在学习 去看看 贾志刚
2019-05-28 21:58:23 weixin_43559676 阅读数 51
  • OpenCV3.2 Java图像处理视频学习教程

    OpenCV3.2 Java图像处理视频培训课程:基于OpenCV新版本3.2.0详细讲述Java OpenCV图像处理部分内容,包括Mat对象使用、图像读写、 基于常用核心API讲述基本原理、使用方法、参数、代码演示、图像处理思路与流程讲授。主要内容包括opencv像素操作、滤波、边缘提取、直线与圆检测、形态学操作与分水岭、图像金子塔融合重建、多尺度模板匹配、opencv人脸检测、OpenCV跟Tomcat使用实现服务器端图像处理服务。

    4123 人正在学习 去看看 贾志刚

数字图像处理基础知识

随计算机技术的发展,20世纪50年代,人们应用计算机处理一些图形和图像信息,这是最早的图像处理;20世纪60年代,人们应用计算机改善图像的质量,这时形成了数字图像处理这门学科。本章主要介绍数字图像处理的基础内容,包括什么是数字图像基础、图像的表示方法、图像的数据结构以及计算机中图像文件格式。

一 数字图像处理简介
数字图像处理(Digital Image Processing)是一种将图像信号数字化后利用计算进行处理的技术。随着计算机科学的发展,数字图像处理已经广泛的应用到各领域之中。
图像的概念
图像就是将三维世界中的事物投影到二维平面上,变为一张图片的形式。图像中包含了它所表达的事物的大部分信息,据有关资料表示,人类所获得的大部分信息来源于眼睛,也就是从图像中获得的。
数字图像的分类
数字图像在计算机中表示方法不同,分为二进制图像,索引图像,灰度图像,RGB图像和多帧图像;
数字图像的产生
数字图像的产生主要通过两种方式,一种是通过像数码照相机这样的设备直接拍摄得到数字图像,还有一种是通过图像采集卡、扫描仪等数字化设备,将模拟图像转变为数字图像。
1.1.4数字图像处理的研究内容
1) 图像运算与变换
2) 图像增强
3) 图像复原
4).图像的锐化处理及边缘检测
5) 图像分割
6) 图像编码压缩
图像的表示方法
图像的表示方法是对图像处理算法描述和利用计算机处理图像的基础。一个二维图像,在计算机中通常为一个二维数组f (x, y),或者是一个M×N的二维矩阵(其中,M为图像的行数,N为图像的列数)
1 二进制图像
二进制图像也称为二值图像,通常用一个二维数组来描述,1位表示一个像素,组成图像的像素值非0即1,没有中间值,通常0表示黑色,1表示白色。二进制图像一般用来描述文字或者图形,其优点是占用空间少方便处理,缺点是只能描述边缘轮廓等无法显示其细节。
2 灰度图像
灰度图像也称为单色图像,通常也由一个二维数组表示一副图像,8位表示一个像素,0表示黑色,255表示白色,1~254表示不同的深浅灰色,一副灰度图像放大4×4大小像素,通常灰度图像显示了黑色与白色之间许多级的颜色深度,比人眼所能识别的颜色深度范围要宽的多。
3 RGB图像
RGB图像也称为彩色图像,利用3个大小相同的二维数组表示一个像素,3个数组分别代表R、G、B三个分量,R表示红色,G表示绿色,B表示蓝色,通过三种基本颜色可以合成任意颜色。每个像素中的每种颜色分量占8位,每一位由[0,255]中的任意数值表示,那么一个像素由24位表示,允许的最大值为224(即1677216,通常记为16M)。
4 索引图像
索引图像是一种把像素值直接作为RGB调色板下标的图像。在MATLAB中,索引图像包含一个数据矩阵X和一个颜色映射(调色板)矩阵map。数据矩阵可以是8位无符号整型、16位无符号整型或双精度类型的。
5 多帧图像
多帧图像是一种包含多幅图像或帧的图像文件,又称为多页图像或图像序列,主要用于需要对时间或场景上相关图像集合进行操作的场合。例如,计算机X线断层扫描图像或电影帧等
矩阵
矩阵用于描述图像,可以表示黑白图像、灰度图像和彩色图像。矩阵中的一个元素表示图像的一个像素。矩阵描述黑白图像时,矩阵中的元素取值只有0和1两个值,因此黑白图像又叫二值图像或二进制图像。矩阵描述灰度图像时,矩阵中的元素由一个量化的灰度级描述,灰度级通常为8位,即0~255之间的整数,其中0表示黑色,255表示白色。
二 计算机中图像文件格式
数字图像在计算机中存储的格式有多种多样,每一种文件格式都包括一个头文件和一个数据文件。头文件的内容由制作图像的公司规定,一般包括文件类型、制作时间,文件大小制作人及版本号等信息。文件制作时还涉及到图像的压缩和存储效率等。
BMP文件格式
BMP文件格式是Windows系统中的一种标准图像文件格式,支持 RGB、索引颜色、灰度和位图颜色模式。BMP文件一共有两种类型,设备相关位图(DDB)和设备无关位图(DIB)。Windows3.0以前的BMP文件格式与显示设备有关,因此把这种BMP文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式。BMP文件默认的文件扩展名是 .BMP或 .bmp。
GIF文件格式
GIF文件格式是CompuServe公司在 1987年开发的图像文件格式,任何商业目的使用均须由CompuServe公司授权。GIF文件主要是为数据流设计的一种传输格式,不作为文件的存储格式,它具有顺序的结构形式。GIF文件主要由五部分组成:文件标志块,识别标识符“GIF”和版本号;逻辑屏幕描述块,定义图像显示区域的参数,包含背景颜色信息、显示区域大小、纵横
尺寸、颜色深浅以及是否存在全局彩色表;全局彩色表,其大小由图像使用的颜色数决定;图像数据块,包含图像的描述块,局部彩色表,压缩图像数据,图像控制扩展块,无格式文本扩展块,注释扩展块,应用程序扩展块,此部分可以缺省;尾块,为三维16进制数,表示数据流已经结束,此部分可以缺省。
JPEG文件格式
JPEG是Joint Photographic Experts Group的缩写,即联合国图像专家组。作为一种图像文件格式,JPEG格式联合国图像专家组制定,文件扩展名 .jpg或 .jpeg。JPEG格式的图像文件具有迄今为止最为复杂的文件结构和编码方式,和其他格式的最大区别是JPEG使用一种有损压缩算法,是以牺牲一部分的图像数据来达到较高的压缩率,但是这种损失很小以至于很难察觉。JPEG格式又可分为标准JPEG、渐进式JPEG及JPEG2000三种格式,这三种格式的区别主要在Internet图像显示方式上。标准JPEG格式图像在网页下载时只能由上而下依序显示图像,直到图像全部下载完毕,才能看到全貌。渐进式JPEG格式可以在网页下载时,先呈现出图像的粗略外观后,再慢慢地呈现出完整的内容。JPEG2000格式是新一代的影像压缩法,压缩品质更好,并可改善无线传输时,常因讯号不稳造成马赛克及位置错乱的情况,改善传输的品质。
TIFF文件格式
TIFF格式最初由Aldus公司与微软公司一起为PostScript打印开发,是一种主要用来存储包括照片和艺术图在内的图像的文件格式,文件扩展名为 .tif 或 .tiff。TIFF文件格式主要包括三个部分:文件头,有固定的位置,位于文件的最前端,是文件中惟一的,包含一个标志参数指出标识信息区在文件中的存储地址及正确解释TIFF文件的其他部分所需的必要信息; 标识信息区,是用于区分一个或多个可变长度数据块的表,包含了有关于图像的所有信息。图像文件目录中提供了一系列的指针,这些指针指向各种有关的数据字段在文件中的初始地址,并给出每个字段的数据类型及长度;图像数据,根据图像文件目录所指向的地址存储相关的图像信息。

2018-08-02 09:32:39 wsp_1138886114 阅读数 1763
  • OpenCV3.2 Java图像处理视频学习教程

    OpenCV3.2 Java图像处理视频培训课程:基于OpenCV新版本3.2.0详细讲述Java OpenCV图像处理部分内容,包括Mat对象使用、图像读写、 基于常用核心API讲述基本原理、使用方法、参数、代码演示、图像处理思路与流程讲授。主要内容包括opencv像素操作、滤波、边缘提取、直线与圆检测、形态学操作与分水岭、图像金子塔融合重建、多尺度模板匹配、opencv人脸检测、OpenCV跟Tomcat使用实现服务器端图像处理服务。

    4123 人正在学习 去看看 贾志刚

一、基本概念

1.1 图像分类

这里写图片描述

1.2 图像处理方法
模拟图像处理: 
    也称光学图像处理,它是利用光学透镜或光学照相方法对模拟图像进行的处理,其实时性强、速度快、 
    处理信息量大、分辨率高,但是处理精度低,灵活度差,难有判断功能 。 

数字图像处理: 
    即利用计算机对数字图像进行处理 ,它具有精度高、处理内容丰富、方法易变、灵活度高等优点。 
    但是它的处理速度受到计算机和数字器件的限制,一般也是串行处理,因此处理速度较慢。 

光电结合处理: 
    用光学方法完成运算量巨大的处理(如频谱变换等),而用计算机对光学处理结果(如频谱)进行分析判断等处理。 
    该方法是前两种方法的有机结合,它集结了二者的优点。光电结合处理是。 

这里写图片描述

1.3 颜色表示方法

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

1.4 图像的几何变换

这里写图片描述
这里写图片描述

仿射变换

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2017-01-26 20:40:32 clover_daisy 阅读数 924
  • OpenCV3.2 Java图像处理视频学习教程

    OpenCV3.2 Java图像处理视频培训课程:基于OpenCV新版本3.2.0详细讲述Java OpenCV图像处理部分内容,包括Mat对象使用、图像读写、 基于常用核心API讲述基本原理、使用方法、参数、代码演示、图像处理思路与流程讲授。主要内容包括opencv像素操作、滤波、边缘提取、直线与圆检测、形态学操作与分水岭、图像金子塔融合重建、多尺度模板匹配、opencv人脸检测、OpenCV跟Tomcat使用实现服务器端图像处理服务。

    4123 人正在学习 去看看 贾志刚

图片操作:载入,保存,展示

  • 准备工作:下载一张图片picture.jpg

import numpy as np
import cv2

#查看cv2的版本
print(cv2.__version__)
#读取图片信息,展示图片
img = cv2.imread('./picture.jpg')
print(img)
print(img.shape)
cv2.imshow('img_show',img)
#输入任意键退出显示图片的窗口
key = cv2.waitKey(0)&0xff
print(key)
#将图片变为单色,并保存
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
print(img.shape)
cv2.imwrite('picture1.jpg',img)
#释放资源,与imshow()方法对应
cv2.destroyAllWindows()
  • picture.jpg
    这里写图片描述
  • picture1.jpg

这里写图片描述

OpenCV绘图

  • 准备工作:下载一张背景图片background.jpg
import numpy as np
import cv2

img = cv2.imread('./background.jpg')
print(img)
print(img.shape)
#直线
img = cv2.line(img,(0,0),(1280,0),(255,0,155),15)
img = cv2.line(img,(0,0),(0,800),(255,0,155),15)
img = cv2.line(img,(1280,0),(1280,800),(255,0,155),15)
img = cv2.line(img,(0,800),(1280,800),(255,0,155),15)
img = cv2.line(img,(100,100),(250,250),(255,255,255),3)
img = cv2.line(img,(250,100),(100,250),(255,255,255),3)
#矩形
img = cv2.rectangle(img,(100,100),(250,250),(0,255,255),3)
#圆形
img = cv2.circle(img,(175,175),110,(255,255,0),3)

cv2.imshow('img_show',img)
key = cv2.waitKey(0)&0xff
print(key)
cv2.destroyAllWindows()
  • 绘图后的结果:
    这里写图片描述

OpenCV文字处理

  • 准备工作:下载一张背景图片background.jpg
import numpy as np
import cv2

img = cv2.imread('./background.jpg')
print(img)
print(img.shape)

'''
#直线
img = cv2.line(img,(0,0),(1280,0),(255,0,155),15)
img = cv2.line(img,(0,0),(0,800),(255,0,155),15)
img = cv2.line(img,(1280,0),(1280,800),(255,0,155),15)
img = cv2.line(img,(0,800),(1280,800),(255,0,155),15)
img = cv2.line(img,(100,100),(250,250),(255,255,255),3)
img = cv2.line(img,(250,100),(100,250),(255,255,255),3)
#矩形
img = cv2.rectangle(img,(100,100),(250,250),(0,255,255),3)
#圆形
img = cv2.circle(img,(175,175),110,(255,255,0),3)

'''

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'Never frown',(750,150),font,1.5,(255,255,255),5,cv2.LINE_AA)
cv2.putText(img,'even when you are sad ',(625,250),font,1.5,(255,255,255),5,cv2.LINE_AA)
cv2.putText(img,'because you never know ',(500,350),font,1.5,(255,255,255),5,cv2.LINE_AA)
cv2.putText(img,'who is falling in love with your smile ',(390,450),font,1.5,(255,255,255),5,cv2.LINE_AA)



cv2.imshow('img_show',img)
key = cv2.waitKey(0)&0xff
print(key)
cv2.destroyAllWindows()
  • 文字处理结果
    这里写图片描述

  • 原始图片background.jpg
    这里写图片描述

  • 文字+绘图后的结果:
    这里写图片描述

Python图像处理基础

阅读数 1205

OpenCV图像处理基础

阅读数 467

OpenCV图像处理基础

博文 来自: wujiahui1207

图像处理基本概念

阅读数 602

没有更多推荐了,返回首页