當前位置:首頁 » 操作系統 » 圖相關演算法

圖相關演算法

發布時間: 2022-05-03 01:52:10

⑴ 圖像處理演算法有哪些

多了:圖像分割、增強、濾波、形態學,等等,推薦看數字圖像處理那本厚書

⑵ 有關圖劃分演算法

首先,最多劃分為兩部分,因為如果大於等於3部分,那麼將其中任意兩個部分合並可以優化答案。
這樣問題就是求無向圖的邊連通度的問題了,可以用網路流來解決。具體演算法可以參考《圖論演算法與信息學競賽》這本書。

⑶ 圖像識別演算法都有哪些

圖像識別,是指利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和對像的技術。一般工業使用中,採用工業相機拍攝圖片,然後再利用軟體根據圖片灰階差做進一步識別處理,圖像識別軟體國外代表的有康耐視等,國內代表的有圖智能等。另外在地理學中指將遙感圖像進行分類的技術。

⑷ 在圖像處理中有哪些演算法

1、圖像變換:

由於圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。採用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散餘弦變換等間接處理技術,將空間域的處理轉換為變換域處理,可減少計算量,獲得更有效的處理。它在圖像處理中也有著廣泛而有效的應用。

2、圖像編碼壓縮

圖像編碼壓縮技術可減少描述圖像的數據量,以便節省圖像傳輸、處理時間和減少所佔用的存儲器容量。

壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。

編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發展最早且比較成熟的技術。

3、圖像增強和復原:

圖像增強和復原的目的是為了提高圖像的質量,如去除雜訊,提高圖像的清晰度等。

圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節明顯;如強化低頻分量可減少圖像中雜訊影響。

4、圖像分割:

圖像分割是數字圖像處理中的關鍵技術之一。

圖像分割是將圖像中有意義的特徵部分提取出來,其有意義的特徵有圖像中的邊緣、區域等,這是進一步進行圖像識別、分析和理解的基礎。

5、圖像描述:

圖像描述是圖像識別和理解的必要前提。

一般圖像的描述方法採用二維形狀描述,它有邊界描述和區域描述兩類方法。對於特殊的紋理圖像可採用二維紋理特徵描述。

6、圖像分類:

圖像分類屬於模式識別的范疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)後,進行圖像分割和特徵提取,從而進行判決分類。

圖像分類常採用經典的模式識別方法,有統計模式分類和句法模式分類。

(4)圖相關演算法擴展閱讀:

圖像處理主要應用在攝影及印刷、衛星圖像處理、醫學圖像處理、面孔識別、特徵識別、顯微圖像處理和汽車障礙識別等。

數字圖像處理技術源於20世紀20年代,當時通過海底電纜從英國倫敦到美國紐約傳輸了一幅照片,採用了數字壓縮技術。

數字圖像處理技術可以幫助人們更客觀、准確地認識世界,人的視覺系統可以幫助人類從外界獲取3/4以上的信息,而圖像、圖形又是所有視覺信息的載體,盡管人眼的鑒別力很高,可以識別上千種顏色,

但很多情況下,圖像對於人眼來說是模糊的甚至是不可見的,通過圖象增強技術,可以使模糊甚至不可見的圖像變得清晰明亮。

⑸ 急急急:數據結構中關於圖的結構及相關演算法 用類C語言 要源代碼

(1)創建圖的鄰接矩陣和鄰接表
(2)驗證圖的深度優先、廣度優先遍歷演算法
(3)驗證最短路徑問題
問題太多了,每個小問題,都可以寫不少代碼
下面是問題1的代碼,其他的問題,網上也很容易找到

// 鄰接矩陣表示 :

#include <iostream.h>
#include <stdlib.h>

#define INFINITY 0

#define MAX_VERTEX_NUM 10 //最大頂點數

#define MAX_EDGE_NUM 40 //最大邊數

typedef enum {DG,DN,UDG,UDN}Graphkind;

typedef char VertexType; //頂點數據類型

typedef struct ArcCell
{
int adj; //無權圖,1或0表示相鄰否;帶權圖則是權值。
//int *info;
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

typedef struct
{
VertexType vexs[MAX_VERTEX_NUM]; //頂點向量
AdjMatrix arcs; //鄰接矩陣
int vexnum,arcnum; //圖的當前頂點數和弧數。
Graphkind kind;
}MGraph;

int LocateVex(MGraph G,VertexType v1)
{
int i;
for(i=0;i<G.vexnum;i++)
if(G.vexs[i]==v1)
return i;
return -1;
}

int CreatUDN(MGraph &G)
// 採用數組表示法,構造無向網 G
{
VertexType v1,v2;
int w,j;
cout<<"輸入圖的頂點數"<<endl;
cin>>G.vexnum;
cout<<"輸入圖的弧數"<<endl;
cin>>G.arcnum;
for(int i=0;i<G.vexnum;i++)
{
cout<<"輸入頂點向量"<<endl;
cin>>G.vexs[i];
}
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++)
{
G.arcs[i][j].adj=INFINITY;
}
for(int k=0;k<G.arcnum;++k) //構造鄰接矩陣
{
cout<<"輸入邊依附的兩個頂點"<<endl;
cin>>v1>>v2;
cout<<"輸入此邊的權值"<<endl;
cin>>w;
i=LocateVex(G,v1);
j=LocateVex(G,v2);
G.arcs[i][j].adj=w;
G.arcs[j][i].adj=G.arcs[i][j].adj;
}
return 1;
}

void dispMGraph(MGraph G)
{
cout<<"圖的鄰接矩陣圖是:"<<endl;
for(int i=0;i<G.vexnum;i++)
{
for(int j=0;j<G.vexnum;j++)
cout<<" "<<G.arcs[i][j].adj;
cout<<endl;
}
}

void main()
{
MGraph G;
CreatUDN(G);
dispMGraph(G);
}

// 鄰接表 表示:

#include <iostream.h>
#include <stdlib.h>

#define MAX_VERTEX_NUM 20 //最大頂點數

#define MAX_EDGE_NUM 40 //最大邊數

int visited[ MAX_VERTEX_NUM];

typedef int VertexType ; //頂點數據類型

typedef struct ArcNode
{
int adjvex;
int weight;
struct ArcNode *nextarc;
}ArcNode;

typedef struct VNode
{
VertexType data;
ArcNode *firstarc;
}VNode,AdjList[MAX_VERTEX_NUM];

typedef struct
{
AdjList vertices;
int vexnum,arcnum;
int kind;
}ALGraph;

void CreateDG(ALGraph &G)
{
int i,j,k;
ArcNode *p;
cout<<"創建一個圖:"<<endl;
cout<<"頂點數:"; cin>>G.vexnum;cout<<endl;
cout<<"邊數:"; cin>>G.arcnum; cout<<endl;
for(i=0;i<G.vexnum;i++)
{
G.vertices[i].data=i;
G.vertices[i].firstarc=NULL;
}
for(k=0;k<G.arcnum;k++)
{
cout<<"請輸入第"<<k+1<<"條邊:";
cin>>i>>j;
p=(ArcNode*)malloc(sizeof(ArcNode));
p->adjvex=j;
p->nextarc=G.vertices[i].firstarc;
G.vertices[i].firstarc=p;
}
}

void Disp(ALGraph G)
{
int i,j;
ArcNode *p;
cout<<"輸出圖為:"<<endl;
for(i=0;i<G.vexnum;i++)
{
p=G.vertices[i].firstarc;
j=0;
while(p!=NULL)
{
cout<<"("<<i<<","<<p->adjvex<<")";
p=p->nextarc;
j=1;
}
if(j==1)
cout<<endl;
}
}

void dfs(ALGraph G,int v) //深度優先遍歷
{
ArcNode *p;
cout<<v<<" ";
visited[v]=1;
p=G.vertices[v].firstarc;
while(p!=NULL)
{ if(!visited[p->adjvex])
dfs(G,p->adjvex);
p=p->nextarc;
}
return ;
}

void dfs1(ALGraph G)
{
int i;
for(i=0;i<G.vexnum;i++)
if(visited[i]==0)
dfs(G,i);
}

void main()
{
ALGraph G;
CreateDG(G);
int v;
Disp(G);
cout<<"輸入頂點:";
cin>>v;
cout<<"深度優先序列:";
dfs1(G);
cout<<endl;
}

補充:
c和c++本來就差不了多少
只需要把#include <iostream.h>換成#include <stdio.h>
把cout換成printf,把cin換成scanf
就能把上述c++的代碼變化成c的啊

⑹ 圖像識別演算法有幾種

從模式特徵選擇及判別決策方法的不同可將圖像模式識別方法大致歸納為兩類:統計模式(決策理論)識別方法和句法(結構)模式識別方法。此外,近些年隨著對模式識別技術研究的進一步深入,公司模糊模式識別方法和神經網路模式識別方法也開始得到廣泛的應用。江蘇視圖科技演算法提供商。

⑺ 圖像的特徵提取都有哪些演算法

常用的圖像特徵有顏色特徵、紋理特徵、形狀特徵、空間關系特徵。

一 顏色特徵

(一)特點:顏色特徵是一種全局特徵,描述了圖像或圖像區域所對應的景物的表面性質。一般顏色特徵是基於像素點的特徵,此時所有屬於圖像或圖像區域的像素都有各自的貢獻。由於顏色對圖像或圖像區域的方向、大小等變化不敏感,所以顏色特徵不能很好地捕捉圖像中對象的局部特徵。另外,僅使用顏色特徵查詢時,如果資料庫很大,常會將許多不需要的圖像也檢索出來。顏色直方圖是最常用的表達顏色特徵的方法,其優點是不受圖像旋轉和平移變化的影響,進一步藉助歸一化還可不受圖像尺度變化的影響,基缺點是沒有表達出顏色空間分布的信息。

(二)常用的特徵提取與匹配方法

(1) 顏色直方圖

其優點在於:它能簡單描述一幅圖像中顏色的全局分布,即不同色彩在整幅圖像中所佔的比例,特別適用於描述那些難以自動分割的圖像和不需要考慮物體空間位置的圖像。其缺點在於:它無法描述圖像中顏色的局部分布及每種色彩所處的空間位置,即無法描述圖像中的某一具體的對象或物體。

最常用的顏色空間:RGB顏色空間、HSV顏色空間。

顏色直方圖特徵匹配方法:直方圖相交法、距離法、中心距法、參考顏色表法、累加顏色直方圖法。

(2) 顏色集

顏色直方圖法是一種全局顏色特徵提取與匹配方法,無法區分局部顏色信息。顏色集是對顏色直方圖的一種近似首先將圖像從 RGB顏色空間轉化成視覺均衡的顏色空間(如 HSV 空間),並將顏色空間量化成若干個柄。然後,用色彩自動分割技術將圖像分為若干區域,每個區域用量化顏色空間的某個顏色分量來索引,從而將圖像表達為一個二進制的顏色索引集。在圖像匹配中,比較不同圖像顏色集之間的距離和色彩區域的空間關系

(3) 顏色矩

這種方法的數學基礎在於:圖像中任何的顏色分布均可以用它的矩來表示。此外,由於顏色分布信息主要集中在低階矩中,因此,僅採用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)就足以表達圖像的顏色分布。

(4) 顏色聚合向量

其核心思想是:將屬於直方圖每一個柄的像素分成兩部分,如果該柄內的某些像素所佔據的連續區域的面積大於給定的閾值,則該區域內的像素作為聚合像素,否則作為非聚合像素。

(5) 顏色相關圖

二 紋理特徵

(一)特點:紋理特徵也是一種全局特徵,它也描述了圖像或圖像區域所對應景物的表面性質。但由於紋理只是一種物體表面的特性,並不能完全反映出物體的本質屬性,所以僅僅利用紋理特徵是無法獲得高層次圖像內容的。與顏色特徵不同,紋理特徵不是基於像素點的特徵,它需要在包含多個像素點的區域中進行統計計算。在模式匹配中,這種區域性的特徵具有較大的優越性,不會由於局部的偏差而無法匹配成功。作為一種統計特徵,紋理特徵常具有旋轉不變性,並且對於雜訊有較強的抵抗能力。但是,紋理特徵也有其缺點,一個很明顯的缺點是當圖像的解析度變化的時候,所計算出來的紋理可能會有較大偏差。另外,由於有可能受到光照、反射情況的影響,從2-D圖像中反映出來的紋理不一定是3-D物體表面真實的紋理。

例如,水中的倒影,光滑的金屬面互相反射造成的影響等都會導致紋理的變化。由於這些不是物體本身的特性,因而將紋理信息應用於檢索時,有時這些虛假的紋理會對檢索造成「誤導」。

在檢索具有粗細、疏密等方面較大差別的紋理圖像時,利用紋理特徵是一種有效的方法。但當紋理之間的粗細、疏密等易於分辨的信息之間相差不大的時候,通常的紋理特徵很難准確地反映出人的視覺感覺不同的紋理之間的差別。

(二)常用的特徵提取與匹配方法

紋理特徵描述方法分類

(1)統計方法統計方法的典型代表是一種稱為灰度共生矩陣的紋理特徵分析方法Gotlieb 和 Kreyszig 等人在研究共生矩陣中各種統計特徵基礎上,通過實驗,得出灰度共生矩陣的四個關鍵特徵:能量、慣量、熵和相關性。統計方法中另一種典型方法,則是從圖像的自相關函數(即圖像的能量譜函數)提取紋理特徵,即通過對圖像的能量譜函數的計算,提取紋理的粗細度及方向性等特徵參數

(2)幾何法

所謂幾何法,是建立在紋理基元(基本的紋理元素)理論基礎上的一種紋理特徵分析方法。紋理基元理論認為,復雜的紋理可以由若干簡單的紋理基元以一定的有規律的形式重復排列構成。在幾何法中,比較有影響的演算法有兩種:Voronio 棋盤格特徵法和結構法。

(3)模型法

模型法以圖像的構造模型為基礎,採用模型的參數作為紋理特徵。典型的方法是隨機場模型法,如馬爾可夫(Markov)隨機場(MRF)模型法和 Gibbs 隨機場模型法

(4)信號處理法

紋理特徵的提取與匹配主要有:灰度共生矩陣、Tamura 紋理特徵、自回歸紋理模型、小波變換等。

灰度共生矩陣特徵提取與匹配主要依賴於能量、慣量、熵和相關性四個參數。Tamura 紋理特徵基於人類對紋理的視覺感知心理學研究,提出6種屬性,即:粗糙度、對比度、方向度、線像度、規整度和粗略度。自回歸紋理模型(simultaneous auto-regressive, SAR)是馬爾可夫隨機場(MRF)模型的一種應用實例。

三 形狀特徵

(一)特點:各種基於形狀特徵的檢索方法都可以比較有效地利用圖像中感興趣的目標來進行檢索,但它們也有一些共同的問題,包括:①目前基於形狀的檢索方法還缺乏比較完善的數學模型;②如果目標有變形時檢索結果往往不太可靠;③許多形狀特徵僅描述了目標局部的性質,要全面描述目標常對計算時間和存儲量有較高的要求;④許多形狀特徵所反映的目標形狀信息與人的直觀感覺不完全一致,或者說,特徵空間的相似性與人視覺系統感受到的相似性有差別。另外,從 2-D 圖像中表現的 3-D 物體實際上只是物體在空間某一平面的投影,從 2-D 圖像中反映出來的形狀常不是 3-D 物體真實的形狀,由於視點的變化,可能會產生各種失真。

(二)常用的特徵提取與匹配方法

Ⅰ幾種典型的形狀特徵描述方法

通常情況下,形狀特徵有兩類表示方法,一類是輪廓特徵,另一類是區域特徵。圖像的輪廓特徵主要針對物體的外邊界,而圖像的區域特徵則關繫到整個形狀區域。

幾種典型的形狀特徵描述方法:

(1)邊界特徵法該方法通過對邊界特徵的描述來獲取圖像的形狀參數。其中Hough 變換檢測平行直線方法和邊界方向直方圖方法是經典方法。Hough 變換是利用圖像全局特性而將邊緣像素連接起來組成區域封閉邊界的一種方法,其基本思想是點—線的對偶性;邊界方向直方圖法首先微分圖像求得圖像邊緣,然後,做出關於邊緣大小和方向的直方圖,通常的方法是構造圖像灰度梯度方向矩陣。

(2)傅里葉形狀描述符法

傅里葉形狀描述符(Fourier shape descriptors)基本思想是用物體邊界的傅里葉變換作為形狀描述,利用區域邊界的封閉性和周期性,將二維問題轉化為一維問題。

由邊界點導出三種形狀表達,分別是曲率函數、質心距離、復坐標函數。

(3)幾何參數法

形狀的表達和匹配採用更為簡單的區域特徵描述方法,例如採用有關形狀定量測度(如矩、面積、周長等)的形狀參數法(shape factor)。在 QBIC 系統中,便是利用圓度、偏心率、主軸方向和代數不變矩等幾何參數,進行基於形狀特徵的圖像檢索。

需要說明的是,形狀參數的提取,必須以圖像處理及圖像分割為前提,參數的准確性必然受到分割效果的影響,對分割效果很差的圖像,形狀參數甚至無法提取。

(4)形狀不變矩法

利用目標所佔區域的矩作為形狀描述參數。

(5)其它方法

近年來,在形狀的表示和匹配方面的工作還包括有限元法(Finite Element Method 或 FEM)、旋轉函數(Turning Function)和小波描述符(Wavelet Descriptor)等方法。

Ⅱ 基於小波和相對矩的形狀特徵提取與匹配

該方法先用小波變換模極大值得到多尺度邊緣圖像,然後計算每一尺度的 7個不變矩,再轉化為 10 個相對矩,將所有尺度上的相對矩作為圖像特徵向量,從而統一了區域和封閉、不封閉結構。

四 空間關系特徵

(一)特點:所謂空間關系,是指圖像中分割出來的多個目標之間的相互的空間位置或相對方向關系,這些關系也可分為連接/鄰接關系、交疊/重疊關系和包含/包容關系等。通常空間位置信息可以分為兩類:相對空間位置信息和絕對空間位置信息。前一種關系強調的是目標之間的相對情況,如上下左右關系等,後一種關系強調的是目標之間的距離大小以及方位。顯而易見,由絕對空間位置可推出相對空間位置,但表達相對空間位置信息常比較簡單。

空間關系特徵的使用可加強對圖像內容的描述區分能力,但空間關系特徵常對圖像或目標的旋轉、反轉、尺度變化等比較敏感。另外,實際應用中,僅僅利用空間信息往往是不夠的,不能有效准確地表達場景信息。為了檢索,除使用空間關系特徵外,還需要其它特徵來配合。

(二)常用的特徵提取與匹配方法
提取圖像空間關系特徵可以有兩種方法:一種方法是首先對圖像進行自動分割,劃分出圖像中所包含的對象或顏色區域,然後根據這些區域提取圖像特徵,並建立索引;另一種方法則簡單地將圖像均勻地劃分為若干規則子塊,然後對每個圖像子塊提取特徵,並建立索引。

⑻ 計算圖像相似度的演算法有哪些

SIM = Structural SIMilarity(結構相似性),這是一種用來評測圖像質量的一種方法。由於人類視覺很容易從圖像中抽取出結構信息,因此計算兩幅圖像結構信息的相似性就可以用來作為一種檢測圖像質量的好壞.

首先結構信息不應該受到照明的影響,因此在計算結構信息時需要去掉亮度信息,即需要減掉圖像的均值;其次結構信息不應該受到圖像對比度的影響,因此計算結構信息時需要歸一化圖像的方差;最後我們就可以對圖像求取結構信息了,通常我們可以簡單地計算一下這兩幅處理後的圖像的相關系數.

然而圖像質量的好壞也受到亮度信息和對比度信息的制約,因此在計算圖像質量好壞時,在考慮結構信息的同時也需要考慮這兩者的影響.通常使用的計算方法如下,其中C1,C2,C3用來增加計算結果的穩定性:
2u(x)u(y) + C1
L(X,Y) = ------------------------ ,u(x), u(y)為圖像的均值
u(x)^2 + u(y)^2 + C1

2d(x)d(y) + C2
C(X,Y) = ------------------------,d(x),d(y)為圖像的方差
d(x)^2 + d(y)^2 + C2

d(x,y) + C3
S(X,Y) = ----------------------,d(x,y)為圖像x,y的協方差
d(x)d(y) + C3

而圖像質量Q = [L(X,Y)^a] x [C(X,Y)^b] x [S(X,Y)^c],其中a,b,c分別用來控制三個要素的重要性,為了計算方便可以均選擇為1,C1,C2,C3為比較小的數值,通常C1=(K1 x L)^2, C2=(K2 xL)^2, C3 = C2/2, K1 << 1, K2 << 1, L為像素的最大值(通常為255).
希望對你能有所幫助。

熱點內容
萬魔斬腳本 發布:2024-10-06 08:23:18 瀏覽:876
華強北耳機連安卓手機下什麼軟體 發布:2024-10-06 08:21:53 瀏覽:251
兒科發現傳染病的應急演練腳本 發布:2024-10-06 08:21:48 瀏覽:598
玩王者榮耀的時候要買哪個配置 發布:2024-10-06 08:19:41 瀏覽:620
imovie怎麼清理緩存 發布:2024-10-06 08:14:30 瀏覽:17
python字典list 發布:2024-10-06 08:14:26 瀏覽:578
amhip訪問 發布:2024-10-06 08:03:54 瀏覽:437
joy加密 發布:2024-10-06 07:53:27 瀏覽:201
結構是由哪種腳本語言填寫的 發布:2024-10-06 07:24:27 瀏覽:744
客戶端反編譯教學 發布:2024-10-06 07:10:42 瀏覽:783