<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JennyBi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JennyBi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JennyBi]]></copyright><item><title><![CDATA[OpenGL入门第一篇——绘制一个三角形]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/105081696</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/105081696</guid><author>JennyBi</author><pubDate>Tue, 24 Mar 2020 21:54:52 +0800</pubDate><description><![CDATA[GLFW：初始化GLFW，用来创建OpenGL上下文，以及操作窗口的第三方库OpenGL第三方库：GLFW入门篇
GLAD：初始化GLAD，加载OpenGL函数指针地址的函数OpenGL第三方库：GLAD入门篇
VBO(Vertex Buffer Object)顶点缓冲区对象，主要用来存储顶点的各种信息。优势：将模型的顶点信息放进VBO中，每次画模型时，数据将不必从CPU的内存中提取，而是直接...]]></description><category></category></item><item><title><![CDATA[数字图像处理—图像的傅里叶变换]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/104722914</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/104722914</guid><author>JennyBi</author><pubDate>Sat, 07 Mar 2020 22:28:53 +0800</pubDate><description><![CDATA[傅里叶变换原理


]]></description><category></category></item><item><title><![CDATA[杨辉三角I II]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100928816</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100928816</guid><author>JennyBi</author><pubDate>Tue, 17 Sep 2019 16:14:45 +0800</pubDate><description><![CDATA[输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]


class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; generate(int numRows) {
	vector&lt;vector&lt;int&gt;&gt; Yang...]]></description><category></category></item><item><title><![CDATA[二进制求和 C++]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100919664</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100919664</guid><author>JennyBi</author><pubDate>Tue, 17 Sep 2019 11:14:28 +0800</pubDate><description><![CDATA[问题描述：
输入: a = "11", b = "1"输出: "100"

解题思路：


1.两个字符串的长度不一致，直接计算比较麻烦。对较短的字符串在前方进行‘0’补全，使字符串长度相等；
2.字符串计算时，是从两个字符串末尾开始向前计算；如果有进位需要在求和字符串的前面插入字符；
3.将字符串转换为整数进行计算，有4种计算结果：0,1,2,3.其中结果是0或1，进位标志flag=0.
4.最...]]></description><category></category></item><item><title><![CDATA[matlab 相机标定结果解析]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100155519</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100155519</guid><author>JennyBi</author><pubDate>Fri, 30 Aug 2019 16:24:28 +0800</pubDate><description><![CDATA[matlab标定工具箱



+Add Images：输入方格的边长(mm)



Calibrate开始校正，Export Camera Parameters



目录

IntrinsicMatrix:3*3的投影矩阵，​

EstimateSkew:

径向畸变（RadialDistortion）

有效的径向畸变系数（NumRadialDistortionCoeffcients）:

切...]]></description><category></category></item><item><title><![CDATA[图像的直方图和直方图均衡化]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100130573</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100130573</guid><author>JennyBi</author><pubDate>Thu, 29 Aug 2019 09:42:19 +0800</pubDate><description><![CDATA[1.图像的直方图

直方图是图像中像素强度分布的图形表达方式。
	它统计了每一个强度值所具有的像素个数。

import cv2
import matplotlib.pyplot as plt
original_img = cv2.imread("airplane.jpg")

img_gray=cv2.cvtColor(original_img,cv2.COLOR_BGR2GRAY)

img=...]]></description><category></category></item><item><title><![CDATA[图像增强算法之灰度修正与变换]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100123208</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100123208</guid><author>JennyBi</author><pubDate>Wed, 28 Aug 2019 17:20:29 +0800</pubDate><description><![CDATA[图像变换效果图：



原理很简单，原始图像的灰度级范围在［0，255］，与此对应的灰度值在0（黑色）和255（白色）之间。例如，把原图灰度值低于50的变换为0（黑色），高于200的变换为255（白色），可得到上图的变换图，由此来增强图像的对比度。


import cv2

original_img = cv2.imread("left.jpg")
img_gray=cv2.cvtColor(o...]]></description><category></category></item><item><title><![CDATA[Matlab为图像添加噪声]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/100118628</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/100118628</guid><author>JennyBi</author><pubDate>Wed, 28 Aug 2019 14:31:46 +0800</pubDate><description><![CDATA[img=imread('D:/pattern.jpg');
imshow(img);



添加高斯噪声

&gt;&gt; img_gaussian=imnoise(img, 'gaussian' , 0, 0.02 ); #均值为0，方差为0.02
&gt;&gt; imshow(img_gaussian);



添加泊松噪声

&gt;&gt; img_poisson=imnoise(i...]]></description><category></category></item><item><title><![CDATA[Ubuntu 常用空间清理命令]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/93195175</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/93195175</guid><author>JennyBi</author><pubDate>Fri, 21 Jun 2019 15:13:15 +0800</pubDate><description><![CDATA[# 删除apt-get下载的软件包
sudo apt-get autoclean
# 删除缓存的所有软件包
sudo apt-get clean
# 删除其他软件依赖的但现在已不用的软件包（保留配置文件）
sudo apt-get autoremove
#删除已安装包并不保留配置文件：
apt-get --purge remove 包名


apt-get下载的软件包位置：/var/cache/...]]></description><category></category></item><item><title><![CDATA[opencv+python实现一些图像的基本操作]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/89472335</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/89472335</guid><author>JennyBi</author><pubDate>Tue, 23 Apr 2019 14:49:50 +0800</pubDate><description><![CDATA[1.生成一幅size=[512,512]图像


import cv2
import numpy as np

#生成一幅黑底图像
img_black=np.zeros([512,512], dtype = np.uint8)
#生成一幅白底图像
img=255-img_black

2.绘制一个多边形


#绘制图像
lines = np.array([[[100,100], [300,150]...]]></description><category></category></item><item><title><![CDATA[windows下vs2017安装配置pcl 点云库]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/88393610</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/88393610</guid><author>JennyBi</author><pubDate>Mon, 11 Mar 2019 14:54:17 +0800</pubDate><description><![CDATA[（1）安装配置参考https://www.cnblogs.com/li-yao7758258/p/8066352.html

下载地址https://github.com/PointCloudLibrary/pcl/releases

（2）常见错误

函数声明被否决：



将上图中的SDL检查改为否

预处理器中添加_CRT_SECURE_NO_WARNINGS



（3）链接器中输入的li...]]></description><category></category></item><item><title><![CDATA[为什么要引入齐次坐标？]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/86009215</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/86009215</guid><author>JennyBi</author><pubDate>Mon, 07 Jan 2019 16:48:31 +0800</pubDate><description><![CDATA[问题来源：在研究相机标定的过程中，从世界坐标系变换到相机坐标系和从相机坐标系与图像坐标系之间的转换时，都用到了齐次坐标升了一维，为什么不能直接进行转换呢？

从世界坐标系到相机坐标系的变换开始说起，

相机运动是一个刚体运动，它保证了同一个向量在各个坐标系下的长度和夹角都不会发生变化。这种变换成为欧式变换。可以想象为你把手机抛到空中，在它落地之前，只可能有空间位置和姿态的不同，而它自己的长度、各个...]]></description><category></category></item><item><title><![CDATA[OpenGL第一课]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/82725679</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/82725679</guid><author>JennyBi</author><pubDate>Sun, 16 Sep 2018 16:33:23 +0800</pubDate><description><![CDATA[
#include &amp;lt;windows.h&amp;gt;
#include &amp;lt;GL/glut.h&amp;gt;

void init(void)
{
	glClearColor(1.0, 1.0, 1.0, 0.0);
	glMatrixMode(GL_PROJECTION);//用正投影将世界坐标系二维矩形区域的内容映射到屏幕上
	gluOrtho2D(0.0, 200.0, 0.0, 150.0...]]></description><category></category></item><item><title><![CDATA[5.3 解决二维拉普拉斯方程：heat_2d]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/82432449</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/82432449</guid><author>JennyBi</author><pubDate>Wed, 05 Sep 2018 23:15:33 +0800</pubDate><description><![CDATA[main.cpp


#include &quot;interactions.h&quot;
#include &amp;lt;stdio.h&amp;gt;//加载合适的头文件
#include &amp;lt;stdlib.h&amp;gt;
#include &quot;kernel.h&quot;
#ifdef _WIN32
#define WINDOWS_LEAN_AND_MEAN
#define NOMINMAX
#include &amp;lt;windows....]]></description><category></category></item><item><title><![CDATA[5.2 一维网格上的导数计算]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/82144318</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/82144318</guid><author>JennyBi</author><pubDate>Tue, 28 Aug 2018 10:54:21 +0800</pubDate><description><![CDATA[kernel.h


#pragma once
#ifndef KERNEL_H
#define KERNEL_H

void ddParallel(float *out, const float *in, int n, float h);

#endif // !KERNEL_H


kernel.cu


#include &quot;kernel.h&quot;
#define TPB 64

__global...]]></description><category></category></item><item><title><![CDATA[4.3 stability应用程序]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/82109958</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/82109958</guid><author>JennyBi</author><pubDate>Mon, 27 Aug 2018 12:26:13 +0800</pubDate><description><![CDATA[在4.2 flashlight基础上的改进

kernel.h


#pragma once
#ifndef KERNEL_H
#define KERNEL_H

struct uchar4;
struct int2;

void kernelLauncher(uchar4 *d_out, int w, int h, float p, int s);

#endif // !KERNEL_H

k...]]></description><category></category></item><item><title><![CDATA[第四章 二维网格与交互式图形-4.2通过图形交互实时显示——flashlight]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/82017203</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/82017203</guid><author>JennyBi</author><pubDate>Fri, 24 Aug 2018 14:24:01 +0800</pubDate><description><![CDATA[main.cpp 


#include &amp;lt;stdio.h&amp;gt;//加载合适的头文件
#include &amp;lt;stdlib.h&amp;gt;
#include &quot;kernel.h&quot;
#ifdef _WIN32
#define WINDOWS_LEAN_AND_MEAN
#define NOMINMAX
#include &amp;lt;windows.h&amp;gt;
#endif // _WIN32
#i...]]></description><category></category></item><item><title><![CDATA[第三章 从循环到网络]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/81280227</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/81280227</guid><author>JennyBi</author><pubDate>Mon, 30 Jul 2018 14:50:01 +0800</pubDate><description><![CDATA[3.1 并行化dist_v1


#include &amp;lt;stdio.h&amp;gt;
#include &quot;stdlib.h&quot;

#define N 64
#define TPB 32//每个线程块包含32个线程



__device__ float scale(int i, int n)
{
	return ((float)i / (n - 1));
}

__device__ float dis...]]></description><category></category></item><item><title><![CDATA[第二章 CUDA基础知识]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/81276765</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/81276765</guid><author>JennyBi</author><pubDate>Sun, 29 Jul 2018 23:36:46 +0800</pubDate><description><![CDATA[2.1 CUDA并行模式

从串行到CUDA并行同时涉及硬件和软件两方面。

硬件的转换涉及包含了多个运算单元以及运算规划和数据传输机制的芯片。

软件的转换涉及API以及对编程语言的扩展。

主机：CPU和内存

设备：GPU和显存

CUDA芯片结构：



CUDA引用了单指令多线程（SIMT）的并行模式。

CUDA GPU包含了大量的基础计算单元，这些单元被称为核（core），每一个核包...]]></description><category></category></item><item><title><![CDATA[第一章 起步——串行程序]]></title><link>https://blog.youkuaiyun.com/JennyBi/article/details/81276645</link><guid>https://blog.youkuaiyun.com/JennyBi/article/details/81276645</guid><author>JennyBi</author><pubDate>Sun, 29 Jul 2018 22:35:30 +0800</pubDate><description><![CDATA[dist_v1/main.cpp


#include &amp;lt;math.h&amp;gt;
#include &quot;stdlib.h&quot;
#define N 64

float scale(int i, int n)
{
	return ((float)i / (n - 1));
}

float distance(float x1, float x2)
{
	return sqrt((x2 - x1)*(x...]]></description><category></category></item></channel></rss>