
计算机图形学
kikook
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[OpenGL] 期末大作业开源 全套项目+PPT+报告 基于OpenGL 3.3 CORE 环境集成可以直接运行
本学期的OpenGL大作业做了一个3D二维码生成器:可以动态更新纹理:在数据的准备阶段,需要提取二维码关键点的信息,写了一个python脚本用来生成对应的二维数组:import qrcodeimport numpy as npdata = "http://idiospace.com"qr = qrcode.QRCode( version=1, #version二维码的格子矩阵大小,可以是1到40 error_correction=qrcode.cons.原创 2020-05-23 21:06:17 · 3381 阅读 · 0 评论 -
[OpenGL] OpenGL的纹理坐标问题
Window系统中,屏幕坐标原点在屏幕的左上角,X轴向右为正,Y轴向下为正.度量单位是象素OpenGL的定义中,纹理坐标原点在画布的左下角,X轴向右为正,Y轴向上为正 左下角坐标为(0.0f, 0,0f), 右上角坐标为(1.0f, 1.0f)和形状(矩形是否为正方形)无关, 其他位置取0到1之间的一个浮点数插值得到这也是为什么在Windows平台进行OpenGL编程的...原创 2020-05-20 17:00:37 · 2434 阅读 · 0 评论 -
[OpenGL] VAO 绘制闪光Square
效果:main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>#define ASSERT(x) if (!(x)) __debugbreak(); // __ means the function is the ki原创 2020-05-19 16:32:41 · 310 阅读 · 0 评论 -
[OpenGL] 制作简单动画:一个会闪的square
main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>#define ASSERT(x) if (!(x)) __debugbreak(); // __ means the function is the kind of co.原创 2020-05-19 12:48:31 · 759 阅读 · 0 评论 -
[OpenGL] 使用Index Buffers 绘制一个Square,源代码详细注释
使用Index Buffer技术可以实现顶点复用,极大降低数据的冗余度// main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>struct ShaderProgramSource{ std::string V.原创 2020-05-18 02:17:48 · 626 阅读 · 0 评论 -
[OpenGL] 通俗理解 什么是vertex shader 什么是 fragment shader(又称pixel shader)
shader是一段跑在GPU上的程序。什么是vertex shader 什么是 fragment shader(又称pixel shader),作用:vertex shader:告诉显卡点应该被画在什么位置,对每一个顶点(这些顶点可能有很多属性(纹理,法线等等),也可能只有最基本的位置属性),假设有三个顶点,那么就应该被调用3次。fragment shader(pixel shader):对每一个需要渲染的像素运行fragment shader,设置像素的颜色,并最终渲染在屏幕...原创 2020-05-17 22:55:18 · 8402 阅读 · 0 评论 -
[OpenGL] glVertexAttribPointer用法理解,实例分析
实例分析:index:第几个属性,从0开始取,0,1,2,顺序自己定义,例如顶点位置,纹理,法线这里只有顶点位置,也只能讨论顶点位置,所以为0size:一个顶点所有数据的个数,这里每个顶点又两个浮点数属性值,所以是2type:顶点描述数据的类型,这里position数组中的数据全部为float,所以是GL_FLOATnormalized:是否需要显卡帮忙把数据归一化到-1到+1区间,这里需要,GL_FALSEstride:一个顶点占有的总的字节数,这里为...原创 2020-05-17 22:53:24 · 18892 阅读 · 1 评论 -
[图形学] 通用bresenham算法C++实现
#include <iostream>#include <cstring> // #define DEBUGusing namespace std;int canvas[100][100];void innerSwap(int & x, int & y) { int temp = x; x = y; y = temp;}in...原创 2020-01-03 22:06:11 · 1452 阅读 · 0 评论 -
[OpenCV4] 湖南大学数字图像处理实验1
实验1目录实验内容运行效果项目源码1 Sources1.1 main.cpp:1.2 readImg.cpp1.3 readVideo.cpp1.4 imgprocess.cpp1.5 functrans.cpp1.6 drawhistogram.cpp1.7 histogramselfimplementation.cpp2. Headers...原创 2019-10-22 22:04:20 · 536 阅读 · 0 评论 -
[opencv4]调用 LUT实现图片基于LookUpTable的快速转换
在上一篇文章中,介绍了用于加快图片转换速度的Look Up Table,官方也提倡使用这种方式并提供了OpenCV的标准接口:cv::LUT()[opencv4]调用 LUT实现图片基于LookUpTable的快速转换-目录1.Look Up Table 的原理及手动实现2.官方文档3.使用方法3.1 公式解释3.1.1 第一个3.1.2 第二个3.2 参数...原创 2019-08-09 02:49:22 · 1083 阅读 · 0 评论 -
[opencv4]03-基于图像遍历的颜色压缩-补充
此文章用于补充:https://blog.youkuaiyun.com/chenhanxuan1999/article/details/98859125对在上面的文章中记录的第三种随机访问的办法,补充如下:[opencv4]03-基于图像遍历的颜色压缩-补充-目录随机访问像素和其各个通道Demo随机像素操作1.cv :: Mat :: at(x, y)2.cv :: Mat_ :: o...原创 2019-08-09 01:30:24 · 347 阅读 · 0 评论 -
[opencv4]03-基于图像遍历的颜色压缩
https://docs.opencv.org/4.1.0/db/da5/tutorial_how_to_scan_images.html完整Demo:https://github.com/youhengchan/learn_opencv4/tree/master/03-color_compressing目录-基于图像遍历的颜色压缩颜色压缩算法(color space reduct...原创 2019-08-08 21:29:27 · 910 阅读 · 0 评论 -
[opencv4]Mat的用法和CV_8UC3的参数解释
目录完整Demo:参数解释 完整Demo: https://github.com/youhengchan/learn_opencv4/tree/master/02-Mat 参数解释 https://docs.opencv.org/master/d6/d6d/tutorial_mat_the_basic_image_container.html官网的tutorial中...原创 2019-08-08 00:16:13 · 4488 阅读 · 1 评论 -
[opencv4]图片读入,显示,存储
目录1.完整demo地址2.读取图片:§imread()3.展示图片§namedWindow()4.存储图片:§imwrite() 完整demo: https://github.com/youhengchan/learn_opencv4/tree/master/01-open_show_modify_save_pics 读取图片: ...原创 2019-08-08 00:09:55 · 2747 阅读 · 0 评论 -
【OpenCV4】opencv2/core/core.hpp : No such file or directory
由于最新的从github上下载下来的源码已经更新到了4.x所以在配置Qt的pro文件的时候网上的大部分示例代码都会出这个问题当然使用VS或者是什么其他的IDE也是一样clone下来的源码的目录结构是 opencv4/opencv2/...可以看一下opencv4.x版本的目录结构:opencv4 └── opencv2 ├── aruco ...原创 2019-07-03 19:05:38 · 30248 阅读 · 7 评论 -
【Linux】一文搞定E: Could not get lock /var/cache/apt/archives/lock安装Git
折腾了一个晚上,终于解决了给开分区新装的Ubuntu系统装Git,记录如下打开terminal,按照以下步骤操作【预备】sudo su # 输入密码,进入root【第一步】依次输入以下5条指令sudo killall apt-getsudo rm /var/lib/apt/lists/locksudo rm /var/cache/apt/archives/...原创 2019-07-02 00:46:00 · 427 阅读 · 0 评论 -
[MAC]添加永久系统变量
因为安装一个引擎,需要添加系统环境变量,记录如下:1.打开terminal(空格,输入terminal,回车)2.输入cd,回车3.vim ./.bash_profile打开后shift+g跳到最后一行按o,进入下一行的输入模式输入export variable_name=newly_added_directory//eg://export WM5_PATH=/...原创 2019-06-07 20:17:17 · 1585 阅读 · 0 评论 -
【Gan】计算机视觉前沿生成对抗网络
NIP 2016 对抗训练 Workshop 【网页】https://sites.google.com/site/nips2016adversarial/ 【博客】http://www.inference.vc/my-summary-of-adversarial-training-nips-workshop/ 教程 & 博客 如何训练GAN? 让GAN...转载 2019-05-03 13:25:13 · 1145 阅读 · 0 评论