<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mjj1024的博客]]></title><description><![CDATA[emmm]]></description><link>https://blog.youkuaiyun.com/mjj1024</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mjj1024]]></copyright><item><title><![CDATA[使用iconv(Linux)转换编码]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/131677706</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/131677706</guid><author>mjj1024</author><pubDate>Wed, 12 Jul 2023 11:25:04 +0800</pubDate><description><![CDATA[即可在linux上使用。]]></description><category></category></item><item><title><![CDATA[更改libstdc++版本流程]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/126020053</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/126020053</guid><author>mjj1024</author><pubDate>Wed, 27 Jul 2022 17:57:12 +0800</pubDate><description><![CDATA[更改libstdc++版本]]></description><category></category></item><item><title><![CDATA[ubuntu16.04下切换g++和gcc版本]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/125947683</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/125947683</guid><author>mjj1024</author><pubDate>Sat, 23 Jul 2022 15:13:04 +0800</pubDate><description><![CDATA[.]]></description><category></category></item><item><title><![CDATA[选择排序（C++实现）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/125905474</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/125905474</guid><author>mjj1024</author><pubDate>Thu, 21 Jul 2022 09:36:20 +0800</pubDate><description><![CDATA[选择排序实现]]></description><category></category></item><item><title><![CDATA[合成的默认构造函数]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/125320617</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/125320617</guid><author>mjj1024</author><pubDate>Thu, 16 Jun 2022 17:52:18 +0800</pubDate><description><![CDATA[合成的默认构造函数]]></description><category></category></item><item><title><![CDATA[对象-this指针]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/125316931</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/125316931</guid><author>mjj1024</author><pubDate>Thu, 16 Jun 2022 15:40:23 +0800</pubDate><description><![CDATA[this指针含义.]]></description><category></category></item><item><title><![CDATA[vscode可以编译通过,但是莫名其妙报红色波浪线]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/114847628</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/114847628</guid><author>mjj1024</author><pubDate>Mon, 15 Mar 2021 19:41:10 +0800</pubDate><description><![CDATA[快捷键:ctrl + shift + p

进入


{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",
         ]]></description><category></category></item><item><title><![CDATA[BehaviorTree.CPP教程二：基本端口]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/109648021</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/109648021</guid><author>mjj1024</author><pubDate>Fri, 13 Nov 2020 10:56:10 +0800</pubDate><description><![CDATA[（翻译）BehaviorTree.CPP教程二：基本端口：https://www.behaviortree.dev/tutorial_02_basic_ports/





输入和输出端口

正如我们前面所解释的，自定义 TreeNodes 可用于执行任意简单或复杂的软件。他们的目标是提供一个具有更高抽象层次的接口。

因此，它们在概念上与函数没有不同。

与函数类似，我们通常希望：

将参数/参数传递给节点（输入)
	从节点（输出）获取某种信息。
	一个节点的输出可以是另一个节点的输入。
Behav..]]></description><category></category></item><item><title><![CDATA[BehaviorTree.CPP    教程一：创建树]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/109646609</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/109646609</guid><author>mjj1024</author><pubDate>Thu, 12 Nov 2020 16:52:57 +0800</pubDate><description><![CDATA[（翻译）BehaviorTree.CPP教程一：创建树 ：https://www.behaviortree.dev/tutorial_01_first_tree/



如何创建一个行为树

行为树与状态机类似，只不过行为树是在正确的时间和条件下调用回调的一种机制。
此外，我们将交替使用“回调”和“标记”这两个词。
在这些回调中发生什么由你决定。
在本系列教程中，大多数情况下Action只会在控制台打印一些信息，但请记住，真正的“production”代码可能会做一些更复杂的事情。



如何创建自己的..]]></description><category></category></item><item><title><![CDATA[ROS基础]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/108827756</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/108827756</guid><author>mjj1024</author><pubDate>Fri, 16 Oct 2020 09:45:34 +0800</pubDate><description><![CDATA[1. linux系统基本操作

在linux中，使用的最多操作应该就是使用终端执行各种命令了。

打开终端快捷键：Ctri + Alt + T

在终端中输入：pwd （输出当前终端所在的目录）


]]></description><category></category></item><item><title><![CDATA[#ifndef/#define/#endif：防止头文件重复引用]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/107531241</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/107531241</guid><author>mjj1024</author><pubDate>Thu, 23 Jul 2020 14:18:46 +0800</pubDate><description><![CDATA[在参考别人的代码时，看到这个：


#ifndef _PLOT_H
#define _PLOT_H



第一眼看到“#ifndef”，我还以为是单词打错了。（捂脸）

（代码的最后一行是“#endif”。）

这三个代码表示：防止该头文件重复引用。

比如这里的意思就是说：

#ifndef _PLOT_H：（if not define _PLOT_H）如果不存在_PLOT_H，

#define _PLOT_H：就引入_PLOT_H，

#endif：否则不需要引入

这就避免了_PLOT_H的重复引.]]></description><category></category></item><item><title><![CDATA[重构C++体系----指针]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/107242925</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/107242925</guid><author>mjj1024</author><pubDate>Fri, 10 Jul 2020 15:27:37 +0800</pubDate><description><![CDATA[1. 计算机体系中的存储层次

在介绍指针的概念之前，先介绍一下计算机中的存储层次，以便更好地理解指针。



L5 —— Remote secondary storage：

网络磁盘，在存储体系中相对比较慢。是在不同的机器，甚至不同的网段之间传输数据。从存储角度来看，假设把数据存储到多台机器上，或者是通过互联网去访问某些信息的时候，我们可以认为整个世界就是一张大的磁盘。

L4 —— Local secondary storage:

本地磁盘，访问速度比网络磁盘快些，但容量必定没有网络磁盘大。
...]]></description><category></category></item><item><title><![CDATA[在Linux下用sh打包发布基于opencv的C++可执行文件]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/107110640</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/107110640</guid><author>mjj1024</author><pubDate>Sat, 04 Jul 2020 17:59:36 +0800</pubDate><description><![CDATA[问题：在ubuntu16.04上用Clion写好的C++程序，用到了第三方库opencv，现在需要在一个没有装opencv甚至没有装Clion的linux电脑下执行，应该怎么打包发布呢？



（困扰了我好几天，参考了很多博客。

ubuntu打包opencv和C++可执行程序:这个博客让我明白了大致是什么操作，但还没有解决我的问题。

一开始用他写的脚本复制依赖库，但脚本运行出错，不晓得是啥的问题。然后我一个一个依赖库的复制。最后打包发到别的电脑上显示找不到依赖库，之后添加环境变量，依然出错。

...]]></description><category></category></item><item><title><![CDATA[OpenCV（九）—————图像通道合并与分离（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106302070</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106302070</guid><author>mjj1024</author><pubDate>Sat, 23 May 2020 16:50:18 +0800</pubDate><description><![CDATA[将一张图像分别分成三个通道的图像.

使用split()函数,分离之后的数据存到一个Mat对象的容器中.


#include &lt;opencv2/opencv.hpp&gt;
#include &lt;iostream&gt;

using namespace cv;
using namespace std;


int main(int argc,char** argv)
{
    //  读入图像
    Mat src = imread("../meizi.jpg");
    if(src.]]></description><category></category></item><item><title><![CDATA[OpenCV（八）—————图形绘制与填充（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106295666</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106295666</guid><author>mjj1024</author><pubDate>Sat, 23 May 2020 15:51:56 +0800</pubDate><description><![CDATA[1.图形绘制

点、线、矩形、圆形、椭圆、多边形、绘制与填充；

随机绘制：随机函数RNG，绘制随机形状

2.图形填充

2.代码演示



1.图形绘制

线
利用line()API。


#include &lt;opencv2/opencv.hpp&gt;
#include &lt;iostream&gt;

using namespace cv;
using namespace std;


int main(int argc,char** argv)
{
    Mat canvas = Ma.]]></description><category></category></item><item><title><![CDATA[OpenCV（七）—————像素信息统计（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106288306</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106288306</guid><author>mjj1024</author><pubDate>Fri, 22 May 2020 19:57:53 +0800</pubDate><description><![CDATA[内容：

1.图像最大值与最小值

2.图像均值与方差

3.图像像素分布信息





1.图像最大值与最小值

输出一个灰度图像中像素的最大值和最小值。


#include &lt;opencv2/opencv.hpp&gt;
#include &lt;iostream&gt;

using namespace cv;
using namespace std;


int main(int argc,char** argv)
{
    //  读入图像
    Mat src = imread(..]]></description><category></category></item><item><title><![CDATA[OpenCV（六）—————图像位操作（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106284237</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106284237</guid><author>mjj1024</author><pubDate>Fri, 22 May 2020 17:47:42 +0800</pubDate><description><![CDATA[内容：

1.与或非+异或

2.利用带mask操作




1.取反操作


#include &lt;opencv2/opencv.hpp&gt;
#include &lt;iostream&gt;

using namespace cv;
using namespace std;


int main(int argc,char** argv)
{
    //  读入图像
    Mat src = imread("../chaoxiong.jpg");
    imshow("input",s..]]></description><category></category></item><item><title><![CDATA[OpenCV（五）—————图像算术操作（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106281477</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106281477</guid><author>mjj1024</author><pubDate>Fri, 22 May 2020 16:34:50 +0800</pubDate><description><![CDATA[内容：

1.加减乘除

2.利用加减法调整图像的亮度

3.调整图像亮度与对比度



1.加减乘除

输入图像的大小与类型必须一致
	处理越界
进行加减乘除的运算，以opencv中自带的windows和linux的logo图像进行实例：




#include &lt;opencv2/opencv.hpp&gt;
#include &lt;iostream&gt;

using namespace cv;
using namespace std;


int main(int argc,char**.]]></description><category></category></item><item><title><![CDATA[OpenCV（四）————认识Mat对象（C++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106274145</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106274145</guid><author>mjj1024</author><pubDate>Fri, 22 May 2020 15:31:46 +0800</pubDate><description><![CDATA[内容：

1.什么是Mat

2.Mat的属性与操作

3.创建Mat



1.什么是Mat

图像文件的内存数据对象
对于人类来说，看到一个图像时，脑子里会想到这个图像内容，比如一张帅哥的照片，在我们看来就是帅哥，对于计算机来说，它只能识别0和1，不管是一张什么图像，在它眼中也只是由一些特定数字组成的数据，所以对它来说，一张图像就是一个二维矩阵。而Mat就是存储这个数据的对象，也就是存储图像文件的内存数据对象，而这个对象最主要的就是一些矩阵。

或者说是将imread（）读取到的图像信息存储起来的一个.]]></description><category></category></item><item><title><![CDATA[OpenCV（三）————图像文件加载显示与保存（c++）]]></title><link>https://blog.youkuaiyun.com/mjj1024/article/details/106265269</link><guid>https://blog.youkuaiyun.com/mjj1024/article/details/106265269</guid><author>mjj1024</author><pubDate>Fri, 22 May 2020 10:08:34 +0800</pubDate><description><![CDATA[内容：

1.图像文件加载imread()

2.窗口与显示imshow()

3.图像文件保存imwrite



1.图像文件加载

imread函数
默认的BGR彩色图像加载，此外支持灰度图像与任意格式。

（什么是BGR图像？对颜色空间YUV、RGB的理解）

（什么是灰度图像？彩色图像、灰度图像、二值图像）

函数及参数详解：OpenCV之imread解析

imshow函数
图像显示，不支持透明通道，在显示的时候会改变透明通道的数据，变成普通背景。

想要不改变透明通道的原始数据，应该在输入图.]]></description><category></category></item></channel></rss>