《图形学编程笔记》
文章平均质量分 54
包含计算机图形学基本概念及算法、和OpenGL、OpenCV、WebGL等图形库的学习与使用。
代码骑士
学习、记录、进步、分享。(断剑重铸之日,骑士归来之时!)
展开
-
【OpenCV学习笔记】OpenCV中简单的绘图函数
1、画直线的函数是cv2.linecv2.line函数语法:cv2.line(img,start_point,end_point,color,thickness=0)cv2.line函数参数解释:img:需要画的图像start_point:直线的开头,必须是一个元组类型end_point:直线的结尾,必须是一个元组类型color:直线的颜色,必须是一个元组类型thickness:直线的宽度代码示例:cv2.line(img,(0,0),(100,100),(原创 2022-01-08 15:41:07 · 3464 阅读 · 0 评论 -
【OpenCV学习笔记】第一个OpenCV程序代码体验
代码功能:动态识别当前摄像头内色彩差异最大的物体的轮廓,并且推算出物体距离摄像头的距离,按q键退出,并且代码会将刚刚摄像头录制的内容保存到 .py 文件所在的文件夹内,名字为“latest.avi”.效果演示:程序代码:import cv2import numpy as np#参考,根据测距公式:D=(F*W)/PKNOWN_WIDTH=2.36KNOWN_HEIGHT=8.27KNOWN_DISTANCE=7.7FOCAL_LENGT...原创 2022-01-06 15:01:58 · 536 阅读 · 2 评论 -
【OpenCV学习笔记】OpenCV中常见的图片存储格式
1、BGR图我们平常生活中拍摄的图片一般都是GRB(R:红色 G:绿色 B:蓝色)格式的图片,而在OpenCV中我们常用的图片格式为BGR(蓝绿红),本质上二者没有任何区别,只是我们平时使用的习惯不同而已。调节三种颜色的值,可以构成不同颜色的像素点,而我们在处理图片的时候,一般不直接采用BGR图片进行操作,而是需要进行图片颜色格式的转换。我们称B、G、R为图片上每个像素点构成的通道,所以BGR图是一个三通道(蓝、绿、红)的图片。在OpenCV中,每个通道的取值范围为0~255,我们可以通过原创 2022-01-08 15:44:43 · 5905 阅读 · 0 评论 -
【OpenCV学习笔记】如何在VS2019上安装OpenCV环境
(1)创建python的空项目(2)点击右侧python环境,查看所有python环境(3)单击“概述”选择“包”(4)在文本框中输入“opencv-python”,单击下方运行命令,即可完成安装。按同样的方法安装numpy(1)输入numpy(2)点击运行命令...原创 2022-01-06 14:50:04 · 1062 阅读 · 0 评论 -
【OpenCV学习笔记】OpenCV中简单的鼠标事件处理
谈及鼠标事件,就是在触发鼠标按钮后程序所做出相应的反应,但是不影响程序的整个线程。这有些像异步处理。鼠标事件响应不会一直等着我们去按而后续程序不执行,这样会造成阻塞,而是在我们不按鼠标的时候程序也会正常进行,按的时候会调用鼠标的事件响应,这个过程就像程序一边正常运行一边等待鼠标响应。 为了将鼠标响应和操作画面进行绑定,我们要创建一个回调函数:cv2.setMouseCallback函数语法:cv2.setMouseCallback(img,onMouse)cv...原创 2022-01-10 09:58:08 · 3519 阅读 · 0 评论 -
【OpenCV学习笔记】OpenCV基础操作:图片的读取与写出
1、进行图片读取的函数是:cv2.imreadcv2.imread函数语法如下:cv2.imread(filename,flag=1)cv2.imread函数的参数解释:filename:所要读取图片的相对地址(与文件中open函数的读取方式一致)flag:设置读取的格式,默认为1,表示按照BGR三通道的方式进行读取;如果为0,则以灰度图单通道的方式读取。2、图片保存的函数cv...原创 2022-01-07 15:41:47 · 4284 阅读 · 0 评论 -
【OpenCV学习笔记】使用OpenCV实现简单照相机
功能:按下q键退出,按下空格键拍照。找好的照片保存在程序文件夹里。import cv2import numpy as npcap = cv2.VideoCapture(0)#打开内置摄像机flag = 1#播放视频count = 0;#记录照相的次数while cap.isOpened():#当摄像头打开时 ret,frame=cap.read()#读取当前摄像头画面 cv2.imshow('img',frame)#显示当前摄像头画面 if cv2.waitKey(f原创 2022-01-17 09:10:46 · 3778 阅读 · 1 评论 -
【OpenGL 学习笔记】第 7 篇:绘制旋转立方体
代码】第7篇绘制旋转立方体。原创 2022-07-28 09:15:43 · 1726 阅读 · 1 评论 -
【OpenGL 学习笔记】第 6 篇:模型导入
方法二: 自创项目文件 在构建Mesh和Model之前我们需要用到之前的Assimp库的相关头文件,因此在头文件头上加上相关头文件: setupMesh函数中初始化缓冲,并最终使用Draw函数来绘制网格。首先来构造Mesh():setupMesh(): processNode(): processMesh():3、绘制模型理解上面代码后打开项目工程文件执行main函数就能看到导入的模型了:原创 2022-07-11 08:09:28 · 975 阅读 · 2 评论 -
【OpenGL 学习笔记】第 5 篇:绘制球
封装后,在应对存在对个着色器程序的渲染流程时,可以更方便使用不同的着色器程序,同时也可以降低代码冗余。 如下,传入参数分别为顶点着色器和片元着色器的路径,在封装了Shader类之后,我们就可以通过一行代码去创建一个新的着色器对象: 假如我们在绘制时需要切换到某个着色器并使用它,我们仅需要一行代码: 假如我们需要向着色器传入一种类型的值,我们也仅需要一行代码去解决它(name是着色器中的名称,value为你希望设置的值):2、绘制球模型原创 2022-07-07 08:04:46 · 3327 阅读 · 1 评论 -
【OpenGL 学习笔记】第 8 篇:创建摄像机类
代码】第8篇创建摄像机类。原创 2022-07-28 12:11:52 · 521 阅读 · 0 评论 -
【OpenGL 学习笔记】第 2 篇:绘制一个窗口
目录 一、实例化GLFW窗口 1、GLFW初始化 2、查看GLFW版本信息 3、创建窗口对象 二、GLAD 1、初始化GLAD 2、视口 3、渲染 4、释放资源 三、实验源码 1、显示窗口 2、修改背景色上面的代码如果发生如下报错,请查看解决办法链接:(3条消息) 解决错误: LNK2019 无法解析的外部符号_代码骑士的博客-CSDN博客调原创 2022-06-23 12:03:52 · 854 阅读 · 0 评论 -
【OpenGL 学习笔记】解决错误: LNK2019 无法解析的外部符号
解决错误: LNK2019 无法解析的外部符号原创 2022-06-23 09:58:37 · 999 阅读 · 0 评论 -
【OpenGL 学习笔记】第 4 篇:绘制四边形
(0)选择x64平台 (1)添加链接打开项目属性打开项目目录添加文件路径:包含目录添加:D:\OpenGL_Link\Includes;库目录添加:D:\OpenGL_Link\Libs; 打开链接器/输入添加: 在项目源文件夹下添加glad.c文件 新建main.cpp文件,测试代码,没问题即可。 输出结果 包括:初始化GLFW、创建窗口、初始化GLAD、创建视口2、顶点输入3、数据处理(1)VBO我们有了顶点数据,接下来就是将这些顶点数据发送到GPU中去处理,这里我们原创 2022-06-25 23:27:36 · 1483 阅读 · 0 评论 -
【OpenGL 学习笔记】关于VisualStudio2022中CMake编译报错问题解决
错误提示:大致情况:程序只能编译执行一次,下次执行会产生如上报错。解决办法:打开项目设置:点击编辑JSON 修改生成器: 将Ninja修改成其他在改回来重新编译CMake即可再次执行main.cpp就能看到想要的结果了。...原创 2022-07-07 09:26:52 · 1948 阅读 · 0 评论 -
【OpenGL 学习笔记】第 3 篇:绘制三角形
OpenGL绘制三角形原创 2022-06-23 15:56:32 · 1027 阅读 · 0 评论 -
【OpenGL 学习笔记】第 1 篇:搭建OpenGL环境
搭建OpenGL环境原创 2022-06-22 19:29:11 · 1547 阅读 · 1 评论