社区
图形处理/算法
帖子详情
OPENGL和GUI用哪个好?
surgent
2009-03-03 11:08:52
小弟要做毕业设计,题目是做个简单的图像处理软件,实现模糊,锐化,纹理等功能,我想问问用OpenGL做合适还是GUI合适?它们哪个容易上手一点?哪个适合做平面图像的处理?
...全文
470
10
打赏
收藏
OPENGL和GUI用哪个好?
小弟要做毕业设计,题目是做个简单的图像处理软件,实现模糊,锐化,纹理等功能,我想问问用OpenGL做合适还是GUI合适?它们哪个容易上手一点?哪个适合做平面图像的处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
poippoip
2009-03-09
打赏
举报
回复
因为不用涉及到3维图像的处理,你的是处理平面图像所以用GDI比较好!
void TiDuRuiHuaDib::Menxianruihua()
{
LPBYTE p_data; //原图数据区指针
int wide,height; //原图长、宽
p_data=this->GetData ();
wide=this->GetWidth ();
height=this->GetHeight ();
if (m_pBitmapInfoHeader->biBitCount<9) //灰度图像
{
LPBYTE p_temp=new BYTE [wide*height]; //开辟图像一缓冲区
memset(p_temp,255,wide*height); //初始化为255
int temp;
for(int j=1;j<height-1;j++)
for(int i=1;i<wide-1;i++)
{
//根据双向一次微分公式计算当前像素的灰度值
temp=(int)sqrt((p_data[wide*j+i]-p_data[wide*j+(i-1)])*
(p_data[wide*j+i]-p_data[wide*j+(i-1)])+(p_data[wide*j+i]-p_data[wide*(j-1)+i])*
(p_data[wide*j+i]-p_data[wide*(j-1)+i]));
if (temp>=30)
{
if((temp+100)>255)
p_temp[wide*j+i]=255;
else
p_temp[wide*j+i]=temp+100;
}
if (temp<30)
p_temp[wide*j+i]=p_data[wide*j+i];
}
//将缓冲区中的图像复制回原图数据区
memcpy(p_data,p_temp,wide*height);
//删除缓冲区
delete p_temp;
}
else //24位彩色
{
int DibWidth; //原图长、宽、字节宽
DibWidth=this->GetDibWidthBytes(); //取得原图的每行字节数
BYTE *p_temp=new BYTE[height*DibWidth];
for(int j=1;j<height-1;j++) // 每行
{
for(int i=3;i<DibWidth-3;i++) // 每列
{
int pby_pt1=0,pby_pt2=0,pby_pt=0;
pby_pt1=p_data[DibWidth*j+i]-p_data[DibWidth*j+(i-3)];
pby_pt2=p_data[DibWidth*j+i]-p_data[DibWidth*(j-1)+i];
pby_pt=(int)sqrt(pby_pt1*pby_pt1+pby_pt2*pby_pt2);
if (pby_pt>=30)
{
if((pby_pt+100)>255)
p_temp[DibWidth*j+i]=255;
else
p_temp[DibWidth*j+i]=pby_pt+100;
}
if (pby_pt<30)
p_temp[DibWidth*j+i]=p_data[DibWidth*j+i];
}
}
memcpy(p_data,p_temp,height*DibWidth); // 复制处理后的图像
delete []p_temp; //删除暂时分配内存
}
}
这是一个门限锐化的代码,希望对LZ能有帮助!
fdp0525
2009-03-09
打赏
举报
回复
OPenGL适合开发三维的
xiaozhu_zy
2009-03-09
打赏
举报
回复
感觉opengl主要是用来开发三维的
HFred
2009-03-09
打赏
举报
回复
Gui的源码可以找到很多,而且实现简单
chen13668496434
2009-03-07
打赏
举报
回复
OpenGL挺好
xiewhenwe
2009-03-07
打赏
举报
回复
GDI
leidafu
2009-03-06
打赏
举报
回复
你的问题只是跟算法有关,不用opengl也可以做的。
opengl是一套图形开发工业标准,楼主所说的应该是图像处理
IONPhantom
2009-03-03
打赏
举报
回复
我觉得如果做毕业设计就要做一些出彩的东西,如果光是做点这种老套的东西没有什么新意,最后审核的时候也没加分的地方.
同样是这些东西如果你加入GPU通用计算加速就不一样了,会让评审觉得你能够紧跟时代.
所以用OpenGL或者DirectX都可以
feng19852007
2009-03-03
打赏
举报
回复
这些功能只用GDI+做就行了,方便快捷,
liuzxchina
2009-03-03
打赏
举报
回复
我想不管你用什么开发,模糊,锐化等图象处理功能应该都有图象算法,这个与opengl和gdi的关系不大
另外,我觉得二维图象应该是gdi开发好些,3维建摸才用opengl
对于
OpenGL
的尝试——简单的
GUI
库
本文记录了作者使用
OpenGL
与C++开发一个极简
GUI
库osc
gui
的过程,涵盖图形渲染、组件设计、文字显示及渲染封装等内容。重点探讨了如何通过分层架构实现
GUI
系统,并对外提供C接口,旨在深入理解底层图形机制与
GUI
构建原理。
AssortedWidgets:一款功能全面的
OpenGL
GUI
库
AssortedWidgets是一款由作者大学期间编写的
OpenGL
GUI
库,从老SourceForge项目页面镜像而来。它基于
OpenGL
构建,提供完整
GUI
组件,支持跨平台编译。适用于图形界面开发、游戏开发等场景,具有高度可定制、跨平台支持等特点。
GUI
OpenGL
本文介绍了图形用户界面(
GUI
)的概念及其包含的控件元素,并详细阐述了
OpenGL
作为跨语言、跨平台的应用程序编程接口(API),在2D、3D矢量图形渲染中的应用及其实现方式。
nodesnim:基于
OpenGL
和SDL2的Nim
GUI
/2D框架
nodesnim是基于
OpenGL
和SDL2的Nim
GUI
/2D框架,借鉴Godot引擎设计理念,采用节点系统构建界面。其核心是
OpenGL
和SDL2库,使用Nim语言。适用于游戏开发、应用程序界面等场景,具有节点系统、场景加载等特点,能高效构建跨平台图形界面。
le
gui
:基于Java的
OpenGL
GUI
库
le
gui
是基于Java的
OpenGL
GUI
库,为使用LWJGL 3的开发者提供易用的
GUI
库。它使用Java开发,针对
OpenGL
渲染优化,API接近Swing。核心功能有提供常见
GUI
组件、事件处理、布局管理和
OpenGL
集成。最近更新包括性能优化、添加新组件、调整API和修复bug。
图形处理/算法
19,464
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章