- 博客(22)
- 资源 (4)
- 收藏
- 关注
原创 探究#define SQR(x) (x*x) 结果
#include <iostream>#include <iomanip>#define SQR(x) x*xint main(){ int a = 10, k = 5, m = 3; int b = SQR(k + m); a += SQR(k + m); std::cout << a << std::e...
2020-04-22 18:11:36
3302
3
原创 拓扑关系
拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。即用结点、弧段和多边形所表示的实体之间的邻接、关联、包含和连通关系。如:点与点的邻接关系、点与面的包含关系、线与面的相离关系、面与面的重合关系等。
2020-04-19 19:12:09
10646
原创 C++智能指针 auto_ptr
auto_ptr 是一个轻量级的智能指针, 定义于 memory (非memory.h)中, 命名空间为 std.auto_ptr 适合用来管理生命周期比较短或者不会被远距离传递的动态对象, 最好是局限于某个函数内部或者是某个类的内部.使用方法: std::auto_ptr<int>pt(newint(10)); pt.reset(new int(11));...
2019-04-13 13:46:05
549
原创 OpenCV-操作像素(用指针扫描图像)
今天我们通过一个例子来说明:减少图像中颜色的数量彩色图像由三通道像素组成,每个通道表示红、绿、蓝三原色中一种颜色的亮度值,每个值都是8位无符号字符类型,因此颜色总数为256*256*256,即超过1600万种颜色。因此为了降低分析的复杂性有时需要减少图像中颜色的数量。一种实现办法是把RGB空间细分到大小相等的方块中。例如:把每种颜色数量减少到1/8,那么颜色总数就变为32*32*32.。将旧图...
2019-02-20 22:22:50
1849
原创 OpenCV-操作像素(访问像素值)
为构建计算机视觉应用程序,我们需要学会访问图像的内容,有时也要修改或者创建图像。本章将讲讲如何操作图像的元素(即像素)。图像本质上就是由数组组成的矩阵。OpenCV使用了cv:Mat结构来操作图像。矩阵中的每一个元素表示一个像素。对灰度图像而言,像素是8位无符号数(数据类型为unsigned char),0表示黑色,255表示白色。#include <iostream>#incl...
2019-02-19 23:12:07
5068
原创 Mat类
Mat类有两种基本的数据结构组成,一种是矩阵头(包括矩阵尺寸、存储方法、存储路径等信息),另一个是指向包含像素值的矩阵的指针(矩阵维度取决于其存储方法)。矩阵头的尺寸是个常数,但是矩阵自身的尺寸根据图像不同而不同。Mat类的定义有很多行,下面列出来一些关键属性如下所示:class CV_EXPORTS Mat{public://......很多函数定义,在此省略.../*flag参数包...
2019-02-19 21:23:17
580
原创 图形变换和齐次坐标
1、图形变换是计算机图形学基础内容之一几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用:把用户坐标系与设备坐标系联系起来;可由简单图形生成复杂图形;可用二维图形表示三维形体;动态显示。2、图形的几何变换几何变换:图形的几何信息经过几何变换后产生新的图形。几何变换的两种形式:图形不变,坐标系改变;图形改变,坐标系不变;3、二维图形变换...
2019-02-16 21:37:15
4090
原创 Opencv—鼠标的操作
通过设置鼠标操作回调函数来进行鼠标操作void SetMouseCallbacck(conststring & winname, MouseCallback onMouse, void * userdata = 0);conststring & winname 窗口的名字MouseCallback onMouse指定窗口里每次鼠标时间发生的时候,被调用的函数指针。v...
2019-02-13 21:12:43
2539
1
原创 Opencv—滑动条
createTrackbar()用于创建一个可以调整数值的滑动条(轨迹条),并将滑动条附加在指定的窗口。注:与回调函数一起配合使用。int createTrackbar(conststring &amp; trackbarname, conststring &amp; winname, int * value, int count, TrackbarCallback inChan...
2019-02-13 14:25:40
1481
原创 Opencv—highGUI图形用户界面
1、输出图像到文件imwrite()函数bool imwrite(const string & filename, InputArray img, const vector & params=vector());filename :文件名img :Mat类型的图像params:JPEG 这个参数从0-100表示图片的质量PNG表示压缩级别0-9对于PPM,PGM,P...
2019-02-12 21:48:57
543
原创 Opencv----highGUI图形用户界面初步
1、 图像的载入imread()函数Mat imread(const string filename, intflags = 1);filename支持的格式类型:Windows位图 .bmp,.dibJPEG文件:.jpeg,.jpg,*.jpeJPEG2000文件:*.jp2PNG图片:*.png便携文件格式:.pbm,.pgm,*.ppmSun rasters 光栅文件:....
2019-02-12 16:33:56
622
原创 Visual Studio 2015 配置 Opencv3.4.2的图文详解
本文主要讲述如何在Visual Studio 2015中配置Opencv3.4.2版本例子使用的是WIN 10 系统 +Visual Studio 2015 + Opencv3.4.2一,下载Opencv3.4.2OpenCV 官网 :https://opencv.org/releases.html请根据自己的操作系统选择相应的或者可以在GitHub 下载:https://github...
2019-02-12 15:09:03
1463
原创 WPF MVVM模式下的 textbox控件的文本改变事件
解决:1、添加 System.Windows.Interactivity.dll的引用2、在代码设计XML界面添加引用:xmlns:i=“http://schemas.microsoft.com/expression/2010/interactivity”textbox代码: <TextBox Grid.Row="2" Grid.Column="2" IsReadOnly="...
2019-01-21 10:08:01
5737
2
原创 C++编译过程
C++编译过程主要分为,预处理、编译、汇编、链接四个过程。如下图所示:第一步:预处理将源代码的.c 、.cpp 、.h 等文件包含到一个文件中。在这个过程中会使用一些预处理指令要求编译器使用什么样的方式包含这些文件。预处理结束之后对于c语言编译器会生成一个.i 文件。C++会生成.ii文件。【了解即可】预编译过程主要处理那些源代码中以#开始的预编译指令,主要处理规则如下:将所有的#de...
2019-01-09 12:16:57
335
原创 MFC单文档分割窗口显示图片
继之前的“MFC打开BMP图片”今天来看看如何将一个单文档窗口进行分割。首先我们还是在之前"ShouBMP"项目的基础上完成。向CMainFrame类中添加一个公有成员变量,类型为CSplitterWnd,变量名为m_wndSplitter.在"类视图"右键"CMainFrame",选择"添加"-&gt;“添加变量”.利用
2018-12-31 22:15:20
1007
原创 MFC打开BMP图片
第一步:新建项目"MFC应用程序",项目名为ShowBMP,在应用程序类型中选择"单个文档",点击"确定"第二步:向CShowBMPView类添加成员变量和成员函数.在右栏的"类视图"右键CShowBMPView添加函数或直接在ShowBMPView.h中直接添加public成员变量和成员函数.添加代码如下:public: //成员变量 CS
2018-12-30 17:20:23
3849
1
转载 从零开始学多线程之共享对象(二)
想要使用多线程编程,有一个很重要的前提,那就是必须保证操纵的是线程安全的类.那么如何构建线程安全的类呢? 1. 使用同步来避免多个线程在同一时间访问同一数据. 2. 正确的共享和安全的发布对象,使多个线程能够安全的访问它们.那么如何正确的共享和安全的发布对象呢? 这正是这篇博客要告诉你的.多线程之间的可见性问题.为什么在多线程条件下需要正确的共享和安全的发布对象呢?这要说到可见性的问...
2018-12-25 16:53:25
163
转载 从零开始学多线程之线程安全(一)
准备把自己关于多线程的学习笔记写成三个部分分享给大家: 基础、实战、测试&优化这三个部分是一环扣一环的.1.基础: 多线程操作的对象必须是线程安全的,所以构建线程安全的对象是一切的基础.这一部分讲的就是如何构建线程安全的类,和一些多线程的基础知识.实战: 构建好了线程安全的类,我们就可以用线程/线程池,去构建我们的并发程序了,如何执行任务?如何关闭线程池?如何扩展线程池?这里都会...
2018-12-25 16:51:42
185
转载 OpenGL的第八版 - GLSL语言基础
变量GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量。当然还有一些GLSL保留的名称是不能够作为变量的名称的。基本类型除了布尔型,整型,浮点型基本类型外,GLSL还引入了一些在着色器中经常用到的类型作为基本类型。这些基本类型都可以作为结构体内部的类型。如下表:...
2018-11-30 22:00:45
239
原创 c# 时间加减计算
//今天DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString();//明天,同理,加一DateTime.Now.AddDays(1).ToShortDateString();//本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几...
2018-11-27 17:59:51
3146
原创 OpenGL第八版--初识OpenG
OpenGL第八版–初识OpenG#include using namespace std;#include “stdio.h”#include “GL\glew.h”#include “GL\glut.h”#include “GL\freeglut.h”#include “LoadShaders.h”enum vao_ids{ triangles, numvaos };enum...
2018-11-26 22:08:26
1816
原创 VBS读取Excel
Function FastReadExcel(byval myXlsFile,byval mySheet,byref arrData( ), byref Rscount,byval blnHeader ) Erase arrData Dim i, j Dim objExcel, objRS Dim strHeader, str...
2018-09-05 13:33:25
2957
VC Tree树状节点拖动示例
2015-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人