首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

问一个图像分割算法解决思路

2012-01-19 
问一个图像分割算法一张位图上有若干个互不相交封闭区域,怎样的算法能把这些区域区别的读出来?不是只读轮

问一个图像分割算法
一张位图上有若干个互不相交封闭区域,怎样的算法能把这些区域区别的读出来?不是只读轮廓。谢谢!

[解决办法]
区域分割,一句话说不清楚。
主要是用各种结构算子做,求各个区域的能量,依据能量的不同区分不同的区域。
详细的看看“计算机视觉”这本书或者“机器视觉”。
[解决办法]
你好我也刚学VC,最近也在做这方面的学习研究,做的是视频的,一帧也是一幅画面,我的解决办法是编写一个相关的类专门处理这方面的,现在还在编写与测试阶段,欢迎交流,头文件如下:
/**************************************************************************/
/*CBytePlane类*******************************/
/*Byte平面像素点的类型*******************************/
/********************************/
/*作者:李国庆*******************************/
/*日期:2007-4*******************************/
/*E-Mail:gooking@163.com *******************************/
/*E-Mail: 03291289@bjtu.edu.cn*******************************/
/**************************************************************************/

class CBytePlane
{

public:

unsigned char*m_pbp;//指向像素点的数值区

////构造函数
CBytePlane();
CBytePlane(unsigned int L, unsigned int W );

////析构函数
~CBytePlane();

////返回指定像素区域的数据值
unsigned char*GetPlane( unsigned int x, unsigned int y, unsigned int length, unsigned int width);//矩形像素区
unsigned char*GetPlane( unsigned int x, unsigned int y, unsigned int squlth);//正方形像素区

////返回指定像素点的值
unsigned charGetByteAt( unsigned int x, unsigned int y);
unsigned intGetLength();
unsigned intGetWidth();

////按要求清空指定区域,像素点置零
voidClearPlane();
voidClearPlane( unsigned int x, unsigned int y, unsigned int length, unsigned int width);
voidClearPlane( unsigned int x, unsigned int y, unsigned int squlth);

////释放指针指向的像素区占用的内存区
voidDeleteAll();

////设置指定像素点的数值
BOOLSetByteAt( unsigned int x, unsigned int y, unsigned char ch);
BOOLSetByteAt( unsigned int x, unsigned int y, unsigned char *ps);

////载入另一块的全部像素值到指定区域
BOOLSetPlane( CBytePlane LoadPlane, unsigned int x, unsigned int y);
BOOLSetPlane( unsigned char*ps , unsigned int x, unsigned int y, unsigned int length, unsigned int width );

private:

unsigned intm_length, m_width;
};
分块的函数还没有编写

原始换面和分出来的画面的YUV分量都可以是这个类的对象

热点排行