Digital Image Processing 數位影像處理

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
C语言程序设计 主讲教师 :张群燕 电话:
工作学习汇报 高琦.
授课教师:江星玲 1.
肖 冰 深圳市达晨创业投资有限公司 副总裁 深圳市达晨财信创业投资管理公司 总裁
第1单元 操作系统概论 第一节 绪论 操作系统定义.
数字图像处理 Digital Image Processing.
食品营养成分的检验. 食品营养成分的检验 科学探究的一般过程: 形成假设 设计方案 收集数据 表达交流 处理信息 得出结论 探究:馒头和蛋糕中是否含有淀粉和脂肪 假设:馒头和蛋糕中含有淀粉和脂肪.
新闻摄影基础知识.
2015/Spring 跨平台行動程式進階應用 王派洲老師
基于VC++的数字图像特效处理系统的设计与实现
工作室课题 小车走迷宫 大连民族学院 电工电子实验教学中心.
C++程序设计 王希 图书馆三楼办公室.
C語言中可變参數的用法——va_list、va_start、va_arg、va_end参數定義
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
计算机图形学 讲 授:董兰芳 研究方向:科学计算可视化 图形、图像处理 模式识别 中国科学技术大学 视觉计算与可视化实验室
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Visual C++ introduction
Open Your Computer Vision 指導教授:江政杰 學生:楊承璋 陳彤愷 游智宇
第二十九章 DLL / LIB函式庫開發 當我們開發程式到一個階段之後,我們一定會希望各個Component的程式碼可以分開的越清楚越好。而這一章最主要就是要告訴各位讀者,我們常在Windows系統中看到的dll或是lib的檔案該怎麼實作?做出這樣的library我們又該如何運用?為什麼使用dll或是lib有利於我們開發程式?以上這些疑問都將會在這一章中得到解答。
數位影像處理 Digital Image Processing
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
算法的基本概念.
多媒體概論報告-BMP 組員名稱: 盧彥良-資料蒐集 周誠哲-資料蒐集
Wavelet transform 指導教授:鄭仁亮 學生:曹雅婷.
Instructor:Po-Yu Kuo 教師:郭柏佑
第一單元 建立java 程式.
Introduction 2. Radial Basis Function (RBF)
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
計算攝影學 Final Project 影像縮放內插法 on MFC介面
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
C语言程序设计 教案 崔武子制作
物件導向程式設計 CH2.
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C qsort.
前言 本文主要以車牌(vehicle license plate)影像之不同大小、複雜環境背景以及不同天候的影像為分析對象,提出一套簡單與便利的車牌自動定位以及辨識技術。
数字图像处理.
本节内容 文件读写 视频提供:昆山爱达人信息技术有限公司.
以四元樹為基礎抽取圖片物件特徵 之 影像檢索
第二章 类型、对象、运算符和表达式.
PROGRAM 7 SQUARE E. Angel.
重庆市第一0四中学 王继军.
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
Project 4 The Dragon Curve
第三章 軟體資源管理 授課老師:褚麗絹.
2015 我爱永志我的家 摄影作品征集活动 2015年08月.
查表法&電腦IO Port二進制轉七段顯示器
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
第十三章 彩色影像處理.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
Programming & Language Telling the computer what to do
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Introduction to the C Programming Language
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
函式庫補充資料 1.
99 教育部專案補助計畫案明細 大類 分項 教育部補助 學校配合款 工作項目 計畫主 持人 執行期限 文號 備註 設備費 業務費 管理學院
方法(Method) 函數.
InputStreamReader Console Scanner
Presentation transcript:

Digital Image Processing 數位影像處理 江政杰

What’s An Image 數位影像 Unit: Pixel

Image Type Color 彩色影像 Gray 灰階影像 800x600=480000 pixels 每個pixel是由三個値組成 (R, G, B) 每個pixel是由一個値組成

Gray Image Image I 可以表示成 or double *Image=NULL; Image = (double *) malloc(width * height * sizeof(double)); // read a gray image file for (i = 0 ; i < height ; i++ ) for (j = 0 ; j < width ; j++){ fscanf(fpin, "%c", &pixel); *(Image+i*width+j)=(double)pixel; //the pixel at (i, j) }

Color Image Image I 可以表示成 or double *Image=NULL; Image = (double *) malloc(width * height * sizeof(double)*3); // read a gray image file for (i = 0 ; i < height ; i++ ) for (j = 0 ; j < width ; j++){ fscanf(fpin, "%c", &pixel); *(Image+i*width+j)=(double)pixel; //R at pixel (i, j) fscanf(fpin, "%c", &pixel); *(Image+i*width+j+1)=(double)pixel; //G at pixel (i, j) fscanf(fpin, "%c", &pixel); *(Image+i*width+j+2)=(double)pixel; //B at pixel (i, j) }

Image Features Feature: 特徵 影像的pixel一般都非常多, 我們要在其中找到可以代表不同影像的特徵 目前常見的影像特徵種類很多, 可分成 Color: 以顏色為主 Texture: 以材質為主 Shape: 以形狀為主 …

Pixel Feature 最簡單的特徵取法就是 把所有pixel排列出來 這種方式只適合在小的影像, 例如一個icon是32x32=1024 pixels 目前在face detection上很多就是用pixel feature直接表示影像特徵

Color Histogram histogram 是最常用也是最簡單的影像特徵表示法 pixel數量 255 亮度值 histogram 是最常用也是最簡單的影像特徵表示法 histogram 是一種統計的方式表示顏色變化與分佈狀況 以上面的例子看, color histogram會轉換成256維度的向量 在color image, 可以針對R, G, B 分別算histogram

Color Moments 因為color histogram的維度一般都很高, 所以用統計的計量再予以精簡 這480000個値可以計算其平均數與變異數, 用這兩個統計量代表一張影像 Color Image R, G, B channels, 各有平均數與變異數 共六個値代表, 所以是6維的向量

OpenCV Setup in VC Library: project->setting->link Directories cv.lib cvaux.lib highgui.lib cxcore.lib Directories Include C:\PROGRAM FILES\OPENCV\CV\INCLUDE C:\PROGRAM FILES\OPENCV\CVAUX\INCLUDE C:\PROGRAM FILES\OPENCV\OTHERLIBS\HIGHGUI C:\PROGRAM FILES\OPENCV\CXCORE\INCLUDE Library C:\PROGRAM FILES\OPENCV\LIB FilePathName C:\PROGRAM FILES\OPENCV\bin Include in programs #include "cv.h“, "cvaux.h“, "highgui.h“, "cxcore.h"

Including files 主程式開始 OpenCV內定的資料型態 可以直接用 讀取jpeg檔, 內定函數, 輸入參數是字串 #include <stdio.h> #include <cxcore.h> #include <highgui.h> #include <math.h> int main( int argc, char** argv ) { CvPoint center; double scale=-3; IplImage* image = cvLoadImage("Beach 2.jpg"); if(!image) return -1; /* 這一段程式將每個pixel逐一調整成整張圖有漸層 center = cvPoint(image->width/2,image->height/2); for(int i=0;i<image->height;i++) for(int j=0;j<image->width;j++) { double dx=(double)(j-center.x)/center.x; double dy=(double)(i-center.y)/center.y; double weight=exp((dx*dx+dy*dy)*scale); uchar* ptr = &CV_IMAGE_ELEM(image,uchar,i,j*3); ptr[0] = cvRound(ptr[0]*weight); ptr[1] = cvRound(ptr[1]*weight); ptr[2] = cvRound(ptr[2]*weight); } cvSaveImage("copy.png", image ); */ cvNamedWindow("test", 1 ); cvShowImage("test", image ); cvWaitKey(); return 0; } Including files 主程式開始 OpenCV內定的資料型態 可以直接用 讀取jpeg檔, 內定函數, 輸入參數是字串 產生一個新的視窗 將影像顯示在視窗內 等待按任一鍵

工 作 熟悉Visual C++ (or VC .net) 將OpenCV安裝到可以執行 程式: 輸入一張影像, 然後秀出這張影像 工 作 熟悉Visual C++ (or VC .net) 將OpenCV安裝到可以執行 程式: 輸入一張影像, 然後秀出這張影像 研讀face detection與影片處理的相關資訊