标记图元
来源:互联网 发布:淘宝账号存在安全风险 编辑:程序博客网 时间:2024/05/02 02:58
数学化图像是一个m*m的像素矩阵。
在单色图像中,每个像素的值要么为0,要么为1,
值为0的像素是图像的背景,而值为1的像素则表示图元上的一个点,
我们称其为图元像素。
如果一个像素在另一个像素的左侧、上部、右侧或下部,
则称为两个像素为相素。
识别图元就是对图元像素进行标记,
当且仅当两个像素属于同一个图图元时,它们的标号相同。
如:
0010000
0011000
0000100
0001100
0100101
1110001
1110011
7*7图像
0020000
0022000
0000300
0003300
0400305
4440005
4440055
标记图元
//源程序
#include "iostream.h"
#include "iomanip.h"
#include "fstream.h"
#define max 100
int graph[max][max];
const int dx[4] = { -1 , 0 , 1 , 0 };
const int dy[4] = { 0 , 1 , 0 , -1 };
ofstream fout("output.txt");
void label( int m , int n )
{
int map[max*max];
int begin , end;
int x , y;
int id;
int i , j , k;
id = 2;
for( i = 0 ; i < m ; i++ )
for( j = 0 ; j < n ; j++ )
{
if( graph[i][j] == 1 )
{
begin = 0;
end = 0;
map[0] = i * n + j;
do
{
x = map[begin] % n;
y = map[begin] / n;
graph[y][x] = id;
for( k = 0 ; k < 4 ; k++ )
{
x = map[begin] % n + dx[k];
y = map[begin] / n + dy[k];
if( x >= 0 && x < n && y >=0 && y < m && graph[y][x] == 1 )
{
end++;
map[end] = y * n + x;
}
}
begin++;
}while( begin <= end );
id++;
}
}
}
int main()
{
ifstream fin("input.txt");
int m , n;
char ch;
int i , j;
for( i = 0 ; i < max ; i++ )
for( j = 0 ; j < max ; j++ )
graph[i][j] = 0;
while( fin >> m >> n )
{
for( i = 0 ; i < m ; i++ )
for( j = 0 ; j < n ; j++ )
{
fin >> ch;
if( ch == '1' )
graph[i][j] = 1;
}
cout<<"原始图像"<<endl;
for( i = 0 ; i < m ; i++ )
{
for( j = 0 ; j < n ; j++ )
cout<<setw(3)<<graph[i][j];
cout<<endl;
}
label( m , n );
cout<<"处理后的图像"<<endl;
for( i = 0 ; i < m ; i++ )
{
for( j = 0 ; j < n ; j++ )
cout<<setw(3)<<graph[i][j];
cout<<endl;
}
}
return 0;
}
//输入文件input.txt
7 7
0010000
0011000
0000100
0001100
0100101
1110001
1110011
- 标记图元
- 元信息标记<meta>
- 元信息标记<meta>
- 6.注解、装饰、与标记-图标图元
- SWC 元数据标记(2003-9-19)
- Java元数据应该有@property标记
- AS3的自定义元数据标记
- 元信息标记meta学习笔记
- 第二章 元信息标记<meta>
- AS3的自定义元数据标记
- 8.注解、装饰、与标记-立体图元
- WPF中如何选择合适的元数据标记?(英文)
- Flex数据绑定中使用Bindable元数据标记
- 深度优先标记图
- 标记
- 标记
- 标记
- 标记
- 关于OracleOrahome91TNSListener无法启动的问题?
- 用Java开源项目JOONE实现人工智能编程
- 关于delphi制作安装文件的问题!急,急,急!
- 平面设计常用图像文件格式详解
- STL学习(一)
- 标记图元
- STL学习(二)
- 平面设计创意手法漫谈
- DirectShow开发快速入门之慨述
- 避免网页代码被缓存的办法
- 现在的广告...
- 小问题
- ADPCM WAVE文件的压缩与解压缩[原创]
- IIS上搭建WAP站点