自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 网格化中常用的数据结构

最简单的三角形网格化结构,每个面存储三个顶点的坐标,这个方法存在的两个缺点,1是连接信息不能被显示地捕捉到,顶点和相关联的数据复制了多次。顶点的冗余的问题可以通过面集索引或者共享顶点的数据结构存储。因为简单和存储效率高,许多文件格式都采用了这种表示方法,比如off,obj,VRML.相似地,它和一类高效率地渲染算法相关。然而,因为没有保存有效地链接信息,这种数据结构需要昂贵的搜索来恢复顶点的局部链接信息,因此,这种方法对大多数算法来说,不足够搞效。这是大多数算法频繁使用的操作集合1 定位单独的顶

2020-08-05 23:27:29 1348

原创 Polygon Mesh Processing Windows Visual studio例子代码的配置

最近在配置一些图形学的东西,尝试在windows下进行配置Polygon Mesh Processing 书中的例子代码。环境说明win10 visual studio 2019配置步骤下载书配套的代码,地址书籍官网地址,找到download ,下载书的源码。代码的编译下载glutdlls37解压到lib文件夹,为了方便管理,把glut.h,移动到PMP-Code\lib\taucs-win32\include位置点击项目属性3.1 配置管理器,选择Release32点击 01-M

2020-07-26 15:21:33 333 1

原创 python numpy会出现shape等于0

import numpy as npa=np.zeros([3,10])b=a[a[:,0]>0]b.shape (0, 10)

2019-08-21 17:56:55 3333

原创 图像处理基础--像素遍历,浅拷贝,深拷贝

图像处理基础–像素遍历,浅拷贝,深拷贝这篇博客主要根据高翔的《视觉SLAM14讲》的开源代码进行学习,在Windows上,采用VS2019对代码进行编译。find_package( OpenCV 3 REQUIRED )set(OpenCV_DIR "D:/Code/SLAM/ORB_SLAM2/Thirdparty/opencv/sources/build/install/lib")f...

2019-08-18 22:54:33 514

原创 ORB_SLAM2 windows配置

ORB_SLAM2 windows配置ORB_SLAM2的下载地址 https://github.com/raulmur/ORB_SLAM2.git软件环境VS Visual Studio Community 2019cmake 3.15.1需要用到的库opencv 2.4.13g2o 默认的DBoW2 默认的eigen 3.3.7Pangolin 最新的编译顺序...

2019-08-17 22:56:25 1663

原创 opencv保存和读入图片的结果不一致的问题

今天用python读取和保存图像时,发现读取jpg的图像,在保存为jpg,再读取时,两个图像的差会有很大不同。原因是,jpeg在保存的时会有损失,png格式为无损保存。import cv2img1 = cv2.imread("test.jpg")cv2.imwrite("test1.jpg",img1)img2 = cv2.imread("test1.jpg")img_diff ...

2019-07-18 10:07:08 3634 1

原创 安装dlib

最近跑模型的时候,需要安装dlib,而dlib需要用到cmake,用apt-get install cmake安装半不好用,最后用pip install cmake安装成了。

2019-06-17 19:05:46 212

原创 pytorch

torch.squeeze()这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,设图像大小为(1,36,60),可以去掉,变为(36,60)torch.fromnumpy()torch.unsqueeze()都数据进行扩充(36,60),扩充为(1,36,60)...

2019-04-18 16:12:21 250

原创 python中两个list去重

python中两个list去重python中两个list会出现重复的情况,比如说两个文件夹A和B,A中保存原始的数据,B中保存已处理的数据。A = range(0,10)B = range(0,20)C = list(set(A) - set(B))同时,set数据还支持对数据进行交集,并集的运算union = list(set(A)|set(B))insect = list(se...

2019-04-10 15:51:30 3079

原创 sublime text配置java

sublime text配置java为了学习和使用设置模式,配置eclipse又不常用,还占存储空间,所以决定用sublime text3和java开发环境进行配置,尝试学习headfirst design patterns1、java环境的安装配置java的安装,需要首先安装jdk和jre,安装好之后,添加jdk的bin文件到环境变量path下,注意,由于本机又pycharm开发环境,或者...

2019-03-30 08:01:42 2032

原创 相机标定

# 相机标定## 1、保存相机采集的图像```import cv2cap = cv2.VideoCapture(0)index = 0while (1):ret,frame = cap.read()cv2.imshow("capture",frame)# ckey = cv2.waitKey(1)&0xFFckey = cv2.waitKey(1)print(c...

2019-03-20 17:42:55 195

原创 windows 下python protobuf安装

windows 下python版本的protobuf的安装需要用到prtobuf.exe下载地址https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.0选择protoc-3.6.0-win32.zip下载解压出protoc.exe,下载对应的python安装包。在/python目录下执行python setup.py...

2019-03-14 13:37:28 1663

翻译 EyeTab:一种基于模型的方法在未修改的平板电脑上使用

摘要手机和平板的广泛使用,给手持设备上使用gaze估计提供了比较大的应用场景。由于受限的计算资源,低质量的摄像头,和小的屏幕,视线估计在手机和平板上的应用受到限制。在这篇文章中,作者提供了一个可以应用于平板上的双目视线估计方法。EyeTab是一种基于图像处理和计算机视觉的视线估计方法,在平板上可以达到的精度为6.88°,12fps引言主体思想:视线估计是很重要的,但基于单目的还是比较少的...

2019-03-11 22:44:20 459

翻译 python opencv不能安装 numpy不能升级

opencv安装时需要用到numpy,但是numpy<1.9.1时不能升级,pip install numpy --upgrade --ignore-installed 采用忽略已经安装的,直接升级。。参考 https://stackoverflow.com/questions/28517937/how-can-i-upgrade-numpy/28518106...

2018-10-23 14:24:31 1009

原创 raw格式的图像转为可以查看的png格式

将raw格式的图像转为可以查看的png格式:# coding:utf-8from PIL import ImagerawData = open('Color_74.raw','rb').read()imgSize = (640,480) ###The size of the image# Use the PIL raw decoder to read the data.# the '...

2018-08-24 10:15:16 4576

原创 tensorflow GPU安装

1 下载cuda9.0,安装2 下载cudnn,复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0文件夹下3 conda install tensorflow-GPU安装即可

2018-08-24 10:10:49 220

原创 python 小技巧之split leetcode 151. Reverse Words in a String

leetcode 151. Reverse Words in a String 反转字符串python小技巧之split,分割字符串,中间不管用多少个空格都是可以分割的。def reverseWords(s): """ :type s: str :rtype: str """ # if s == ' ': # return '' ...

2018-08-05 17:15:26 328

翻译 Facade模式

Facade模式通过提供一个接口给客户,从而隐藏系统的复杂性。客户可以通过该接口来访问系统。Facade定义一个高层的接口让子系统可以被容易的使用。例如让一个类的方法通过调用其他几个类来执行复杂的过程。#include <iostream>#include <string>using namespace std;class Alarm{public: v...

2018-06-24 22:12:56 163

原创 python 正则表达式--提取日期 替换IP为一个固定路径

import restudyDate = '2018-08-09 12:10'dateidentifier = studyDate[0:10]pattern = re.compile(r'\d+')temp = re.findall(pattern, dateidentifier)date = "".join(temp)print(date)import repath = r"...

2018-06-11 19:58:38 1432

翻译 Decorate 模式

作用:装饰器模式有助于将其他行为或责任动态附加到对象,装饰器为扩展功能提供了子类化的灵活替代方案。这也被称为包装。如果您的应用程序进行某种过滤,那么装饰器可能是考虑这项工作的良好模式。#include <iostream>#include <string>using namespace std;class Car{protected: string _s...

2018-05-28 23:10:26 1080

翻译 Composite模式

Composite模式让客户可以统一处理单个对象和对象组合。 复合模式可以代表两种情况。 在这种模式下,可以开发用于表示部分 - 整体层次结构的树结构。在该例子中,Composite 模式可以处理Ellipse和Ellipse的组合,及graphicComposiote.#include <iostream>#include <vector>#include <m...

2018-05-28 22:18:13 191

翻译 Bridge模式

Bridge模式用来从实现中分离接口出来,通过这样的方法,实现和接口都可以单例灵活地改变

2018-05-28 21:41:48 371

翻译 adapter 模式

把一个类的接口转换为另一个类的接口(该接口是客户端期待的接口)。Adapter让类共同工作,而不会因为接口的不兼容性而不能用。#include <iostream>using namespace std;class Hindu{public: virtual ~Hindu() = default; virtual void performsHinduRitua...

2018-05-19 21:18:52 196

翻译 Prototype 模式

原型模式用于软件开发,当要创建的对象类型由原型实例确定时,该原型实例被克隆以生成新对象。这种方式应用于以标准方式创建对象的代价比较大时,采用这种方式。实现 声明一个基类指定以个特殊的纯虚函数 virtual clone()方法。任何需要“多态构造函数”的类能力的类都需要从它派生出来并且实现clone()函数。这儿有一个客户端代码,这个工厂模式,依赖于参数,查找具体的创建类。在具体类中,clone(...

2018-05-11 21:20:41 244

翻译 工厂模式

定义:一个用于从一组派生类中创建一个类的实例的实用程序类抽象工厂:一个创建几个类的实例的实用程序类。也可以返回某一组的工厂类。工厂设计模式在需要创建多种不同类型的对象,所有派生类来自于相同的基类有比较大的用处。工厂方法定义了一个创建对象的方法,子类可以重写以指定将要创建的派生类类型。因此,在运行时,工厂方法可以传递一个期待对象的描述。并且给新的实例返回基类指针。当为基类使用精心设计的接口时,该模式...

2018-05-09 19:37:23 134

翻译 C++创建模式

常用的创建设计模式包括如下4种:1 生成器模式2 工厂模式3 原型模式4 单例模式在软件工程中,创建模式是用来处理目标创建的机制,尝试以合适的方式创建对象的解决方法。对象创建的的基本形式可能会导致设计问题或者增加设计的复杂性。创建模式通过对象的创建解决这个问题。生成器模式:生成器模式从复杂对象的表现形式中分离出它的构造函数,可以实现相同的构造函数创建出不通的对象。问题:我们想构建复杂的对象,但是我...

2018-05-09 15:59:55 291

原创 ImageJ读取二进制图像

Get到一个新工具,ImageJ可以获得读取二进制文件为图像显示出来。操作步骤如下,File-->Import -->Raw设置图像的宽和高,就可以显示图像

2018-04-27 13:29:25 2984 2

转载 DCMTK VS2012 编译

https://blog.csdn.net/Kelvin_Yan/article/details/388983871、下载DCMTK源码和支持库我是复制过来的。只是为了保存。2(b)里边说要设置目录,没有设置也可以编译通过。支持库是dcmtk需要引用的第三方库,包括tiff、png、xml、zlib、openssl库其中,库文件以“_d.lib”结尾的是debug版本的库,以“_o.lib”结尾的...

2018-04-20 16:51:32 334

原创 Pytorch conv2d 关于输入输出尺寸的介绍

本来不是啥比较难的东西,因为没怎么用,又忘记了,放在这儿,做个备忘!!input     w*houtput   wo*hofilter   FPadding  Pstride    Swo = (w - F + 2*P)/S +1

2018-03-05 22:45:55 15837 9

原创 pycharm不进入test模式

由于各种原因,pycharm有test字段,或者有test的函数时,会莫名奇妙的进入test模式,有时候怎么也跳不出来,后来在网上搜索后发现了个简单的方式,直接在菜单栏找Run,选择不带test的进行运行就可以了,然后删除自动新建的测试模式

2018-01-14 11:49:29 8983 10

原创 装ubunt时出行进入界面卡死

惠普一体机,安装win7 ubuntu16.04双系统,在进入安装时卡死。经过查找,在网上发现如下操作方式:在进入grab界面时,按e键,在quiet splash后面加上nomodeset,记得前边要加上空格。然后就可以安装,安装好后,/boot/grub/grab.cfg   在该文件夹下linux    /boot/vmlinuz-4.10.0-37-generic.efi.si

2017-10-28 19:48:30 2698

原创 leetcode刷题two sum 1

题目Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].class Solution(object):    def twoSum(self, nums, target):        """        :type nums: List

2017-10-19 13:33:40 246

原创 simpleelastic使用

simpleelastic是基于simple itk的又一次封装,采用simpleelastic可以更快速的实现图像的配准。import SimpleITK as sitkresultImage = sitk.Elastix(sitk.ReadImage("fixedImage.nii"), \ sitk.ReadImage("movingIm

2017-10-16 17:16:33 932 2

原创 eclipse配置pydev

http://m.blog.csdn.net/wwd0501/article/details/52130827参考博客。可能装的是最新的,需要先卸载再进行安装

2017-08-07 14:00:59 255

原创 Qt 中单击按钮不响应

想在窗口中添加一个按钮的响应函数,设置好布局后,怎么添加响应函数都不能响应,只能把加载图片的函数添加信号关联了。菜单和工具栏都有关联了该函数,都可以响应,但按钮就是不能响应。关联信号后就可以很好地响应了。。。。

2017-08-04 10:19:40 6022

原创 Qt中图像类QImage,QPixmap

主要是Qt中QImage和QPixmap函数的使用。还是写来个实现图像缩放的函数吧,主要调用Paint中的drawImage函数。painter->drawImage(target,pImage,src);target是要显示在设备上的矩形的大小,src是目标图像的大小,pImage是图像的指针,由于别人的程序里直接用target=src进行了赋值,我查的时候好多遍才查出来。。

2017-07-10 18:40:46 916

原创 Qt的qrc文件通过cmake在VS中编译Q_INIT_RESOURCE imagecomposition 编译

想把Qt的安装文件里的example编译到VS下运行,想法是通过cmake文件写cmakelist文件进行编译,后来碰到,Q_INIT_RESOURCE一直不能编译通过,提示不能连接,后来各种找,原来在cmake3.0之后,已经可以直接使用了。cmake_minimum_required(VERSION 2.8.11)project(imagecomposition)#

2017-07-03 15:11:17 1200

翻译 Qt设计滑动条

初学Qt,采用Qt实现滑动条的代码如下,可以实现输入年龄,滑动条和文本框同步。本文参照《C++ GUI programming with Qt 4》#include "mainwindow.h"#include #include #include #include int main(int argc, char *argv[]){    QApp

2017-05-30 21:35:31 2078

翻译 AttributeError: module 'click' has no attribute 'command'

File "convert.py", line 84, in     @click.command()AttributeError: module 'click' has no attribute 'command'

2017-04-12 13:39:51 1576

原创 Linux下分卷解压

Linux下的分卷进行解压假设有分卷 train.zip.001   train.zip.002 采用cat 命令和 zip 命令进行解压cat train.zip.001 train.zip.002 > train.zip如果数据文件过大,这个命令需要等待一段时间然后执行unzip train.zip即可实现数据的解压

2017-04-12 10:06:48 798

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除