基于glew,freeglut的imshow】的更多相关文章

OpenGL显示图片,这篇博客使用glew + freeglut + gdal来实现imshow. 主要修改: 使用BGR而不是RGB,保持和opencv行为一致 纯C,去掉C++相关的 去掉GDAL,使用stb image读取图像 提供了完整的CMakeLists.txt脚本 glew-2.1.0:编译安装 glew-2.1.0/build/vs2017-x64.bat @echo off set BUILD_DIR=vs2017-x64 if not exist %BUILD_DIR% md…
https://wenku.baidu.com/view/28cd5ebfaf1ffc4fff47accf.html 一下为测试代码 /* ========================================================== 环境说明: IDE:vs2015 studio 辅助工具库:freeglut opengl扩展库:glew 实现功能: 在笛卡尔二维平面坐标系中,制作二次函数.反比例函数. 正弦以及余弦函数的图像,并通过键盘四个方向键调整其 中部分函数的参数…
做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及GLTools这三个库. 1.GLEW The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient r…
[翻译]opengl扩展教程1 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions.php [翻译]opengl扩展教程1 简介 检测扩展 使用扩展 GLEW入门 入门简介 初始化GLEW 检测OpenGL版本 检测扩展 平台特定扩展 练习 简介 OpenGL扩展是为了使用3D图形硬件的新功能.硬件厂商定义新的函数到OpenGL来支持新的或增强已有的特性. 由单个厂商创建的扩展是"vendor-spec…
http://blog.csdn.net/racehorse/article/details/6638455 GLSL的Hello World 这一节中包含一个最基本的shader,它提供如下功能:顶点变换然后使用单一的颜色渲染图元. 顶点shader 前面已经说过,顶点shader负责完成顶点变换.这里将按照固定功能的方程完成顶点变换. 固定功能流水线中一个顶点通过模型视图矩阵以及投影矩阵进行变换,使用如下公式: vTrans = projection * modelview *incomin…
http://blog.csdn.net/racehorse/article/details/6641623 引言 卡通着色可能是最简单的非真实模式shader.它使用很少的颜色,通常是几种色调(tone),因此不同色调之间是突变的效果.下图显示的就是我们试图达到的效果: 茶壶上的色调是通过角度的余弦值选择的,这个角度是指光线和面的法线之间的夹角角度.如果法线和光的夹角比较小,我们使用较亮的色调,随着夹角变大,逐步使用更暗的色调.换句话说,角度余弦值将决定色调的强度. 在本教程中,我们先介绍逐顶…
我的技术路线:glfw+glad(有了glfw,什么glew,freeglut都不要了) GLFW:直接下载,然后新建vs项目,在<VC++>的<包含目录>添加include路径,以及在<库目录>添加lib路径,然后是在<链接器>的<输入>中的<附加依赖项>添加glfw3.lib,这样就完成glfw的配置. GLAD:直接下载,然后会得到两个文件夹,一个是source,里面有个glad.c,把glad.c放到项目里面:另一个文件夹是i…
//oepngl库 opengl原生库 gl* 随opengl一起发布 opengl实用库 glu* 随opengl一起发布 opengl实用工具库glut glut* 需要下载配置安装(太老了!) opengl实用工具库开源版本freeglut glut* 需要下载配置安装(完全兼容glut,算是glut的代替品,但是bug较多!) opengl GLFW库 glfw* 需要下载配置安装(轻量级的,开源的,跨平台的library,新技术) opengl GLEW库 glew* 需要下载配置安装…
平台:Windows7,Visual C++ 2010 1. 引言 实验室的一个项目,用到OpenGL进行实时绘制,还用到一些其他的库,一个困扰我很久的问题就是编译时遇到的各种符号未定义,符号重定义之类的链接错误,其一般形式如下: xxx.obj : error LNK2019: 无法解析的外部符号__xx_xxx@xx,该符号在函数 _xxx 中被引用 MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info &am…
开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. 现在比较流行的搭配主要是freeglut+glew和glfw+glew,如果想做简单的测试或者自己实在牛逼直接使用gl glu.…
热图: Display an image on the axes. 可以用来比较两个矩阵的相似程度 mp.imshow(z, cmap=颜色映射,origin=垂直轴向) imshow( X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.…
写给想要学习opengl的同学们. 刚开始学习opengl的时候,对于整个环境的搭建以及一些概念不太清晰,网上的资料又比较凌乱,因此在此总结一下,方便大家. 首先,是有一个windows系统,我用的是win8,不过相信其他系统应该还是很接近的. 1. 安装windows kit 8.0,安装完成后会出现在C:\Program Files (x86)\Windows Kits\8.0下. 其实这部不是必须的,因为默认的windows8就自带了一些老版本的sdk的内容,里面就有我们编译opengl所…
在前面一篇,已经能够基于gtk读取图像并显示.更前面的一篇:基于GDI的imshow:使用stb_image读取图像并修正绘制,通过stb_image读取图像并通过GDI显示图像,实现了一个imshow.本篇则在这两基础上,利用stb_image读取图像,并利用gtk显示,初步实现一个基于gtk的imshow. 首先是找到一份代码,从指定的buffer创建gtk的image并显示(参考1).然后用stb image读取,先前我进行了封装,得到fc image是和opencv兼容的bgr格式.然而…
gtk实现imshow,最naive的做法是用gtk的组件去读取图像,然后show出来:后续再考虑用GTK显示用别的方式例如stb image读取的图像.先前基于GDI实现imshow时也是这一思路,先能show出来给自己一点信心. 官方代码 gtk官方文档提供了这个例子,并且show出来的图像和原图大小一致. #include <gtk/gtk.h> static void activate (GtkApplication *app, gpointer user_data) { GtkWid…
cmake已经成为了C/C++开源项目的主流构建工具.glew也提供了cmake的脚本,但用cmake编译glew容易采坑:glew的github上的代码,无论是master分支还是glew-2.1.0这个tag,都无法正确用cmake编译(Linux.OSX亲测,均失败):必须从sourceforge上下载glew,sourceforge下载的glew-2.1.0.tgz才能被cmake正确编译. tar -zxvf glew-2.1.0.tgz cd glew-2.1.0 cd build…
intro 先前实现了GDI显示图像时设定窗口大小为图像大小,不过并没有刻意封装函数调用接口,并不适合给其他函数调用.现在简单封装一下,特点: 纯C 基于GDI,因此只支持windows平台 类似于opencv早期的接口:fc_load_image()读取图像,fc_show_image()显示图像,fc_free_image()释放图像,fc_destroy_window()释放窗口资源 样例代码经过检查,没有内存泄露 有很多没有实现的:例如waitKey, keyPress的处理 代码 #i…
最近学习OpenGL,读OpenGL宝典一头蒙,各种gl函数不知所云.逐决定先搭OpenGL运行环境,详细如下. 1.首先OpenGL是什么?是一个标准规范,是一个巨大的状态机,并无具体实现,大多数实现都是由显卡厂商编写的. 创建一个OpenGL上下文(Context)和一个用于显示的窗口,这个很底层.当然有一些库可以选择,这里选择用GLFW. 运行环境为win10, vs2013. 2.下载编译GLFW库,从库源码入手编译静态库,免得有兼容问题. 下载地址:https://www.glfw.o…
OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库(glut),窗口库(glx.agl.wgl)和扩展函数库等. gl是核心,glu是对gl的部分封装.glx.agl.wgl 是针对不同窗口系统的函数.glut是为跨平台的OpenGL程序的工具包,比aux功能强大(aux很大程度上已经被glut库取代.).扩展函数库是硬件厂商为实现硬件更新利用Op…
一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形学和OpenGL编程必须先把开发环境搭建好,而马三只是在上学的时候稍稍做了一些基于Android平台的OpenGL开发学习,并没有搭建过OpenGL开发环境.因此在搭建过程中颇废了一番周折,也查阅了不少资料才算搭建成功,特此记录一下搭建过程,以备不时之需. 二.搭建环境 1.VS2017 这个不必多…
glsl: OpenGL着色语言(OpenGL Shading Language)是用来在OpenGL中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的GPU (Graphic Processor Unit图形处理单元)上执行的,代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程性.比如:视图转换.投影转换等.GLSL(GL Shading Language)的着色器代码分成2个部分:Vertex Shader(顶点着色器)和Fragment(片断着色器),有时还会有…
副标题:搭建基于MinGW平台的<OpenGL超级宝典>(OpenGL蓝皮书第5版)GLTools 编译环境.示例代码:Triangle.cpp @ SB5.zip 以下内容以及方法均参考自老外在stackoverflow上的回答,强烈建议看看原文,因为他告诉你解决问题的思路而不只是给你结果opengl-superbible-5th-edition-set-up-problems 1. 还未安装MinGW的,去官网下一个,我这里用的是第三方的安装包 TDM-GCC  32位下载地址 2. 到…
最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大家,因为本人也是个小白,所以如果有什么讲的不对的地方希望各位看官多指正! 一.安装OpenCV和搭建环境 首先呢,大家得安装OpenCV,这里网络上有很多相关的教程,这里就不赘述了!我本人用的是OpenCV3.10+VS2015. 这里就贴出几个教程: 下载地址:http://opencv.org/…
基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc;M=256;%原图像长度N=64; %水印长度[filename1,pathname]=uigetfile('*.*','select the image'); image1=imread(num2str(filename1));subplot(2,2,1);imshow(image1); title('original image');     % orginal image for wate…
GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码.要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了.这样的库新一点的有GLEW,因为开源所以安装相对方便(大不了丢进去一起编译),但各种教程和书里常见的是闭源的GLUT.由于GLUT的作者已经…
基于clahe的图像去雾     通过阅读一些资料,我了解到clahe算法对图像去雾有所价值,正好opencv中有了实现,拿过来看一看.   但是现在实现的效果还是有所差异 #);    clahe],planes[]);    clahe],planes[]);    clahe],planes[]);    merge(planes,  dst);         imshow(;}       来自为知笔记(Wiz)…
基于SURF特征的图像与视频拼接技术的研究和实现(一)      一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的<基于SURF特征的图像与视频拼接技术的研究和实现>,条理清晰.内容完整.实现的技术具有市场价值.因此定下决心以这篇论文为基础脉络,结合实际情况,进行“基于SURF特征的图像与视频拼接技术的研究和实现”.       一.基于opencv的surf实现       3.0以后,surf被分到了"opencv_contrib-master"中去,…
 基于opencv网络摄像头在ubuntu下的视频获取 1  工具 原料 平台 :UBUNTU12.04 安装库  Opencv-2.3 2  安装编译运行步骤 安装编译opencv-2.3  参考http://blog.csdn.net/xiabodan/article/details/23547847 提前下载OPENCV源码包 官方:http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/ 我的:http://do…
摘要: 本文主要针对于FCM算法在很大程度上局限于处理球星星团数据的不足,引入了核方法对算法进行优化.  与许多聚类算法一样,FCM选择欧氏距离作为样本点与相应聚类中心之间的非相似性指标,致使算法趋向于发现具有相近尺度和密度的球星簇.因此,FCM很大程度上局限于对球星星团的处理,不具有普遍性.联系到支持向量机中的核函数,可采用核方法将数据映射到高维特征空间进行特征提取从而进行聚类.现阶段,核方法已广泛应用于模糊聚类分析算法.核方法的应用目前已成为计算机智能方面的热点之一,对于核学习的深入研究具有…
原文地址:http://blog.csdn.net/delacroix_xu/article/details/5881942 因为也是初接触,所以就当了解,等深入学习后再回顾这篇文章观点. GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想…
[DWT笔记]基于小波变换的降噪技术 一.前言 在现实生活和工作中,噪声无处不在,在许多领域中,如天文.医学图像和计算机视觉方面收集到的数据常常是含有噪声的.噪声可能来自获取数据的过程,也可能来自环境影响.由于种种原因,总会存在噪声,噪声的存在往往会掩盖信号本身所要表现的信息,所以在实际的信号处理中,常常需要对信号进行预处理,而预处理最主要的一个步骤就是降噪. 小波分析是近年来发展起来的一种新的信号处理工具,这种方法源于傅立叶分析,小波(wavelet),即小区域的波,仅仅在非常有限的一段区间有…