<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JoeJiao]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jiaoo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jiaoo]]></copyright><item><title><![CDATA[Tinkter使用方法]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/120870677</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/120870677</guid><author>jiaoo</author><pubDate>Wed, 20 Oct 2021 17:22:50 +0800</pubDate><description><![CDATA[简单的版本

初始化


root = tk.Tk()
root.title("title")
root.geometry("550x200+800+440") # 设置位置和坐标


文件选择器


# 打开对话框，选择文件夹
folder_path = filedialog.askdirectory()
print(folder_path)


弹窗消息


tkinter.messagebox.showwarning(title='Hi', message='请选择文件夹路径')


输入框


sa]]></description><category></category></item><item><title><![CDATA[视频相似性检测]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/116501106</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/116501106</guid><author>jiaoo</author><pubDate>Fri, 07 May 2021 19:52:09 +0800</pubDate><description><![CDATA[背景
完全一样的视频可以通过MD5判断，但视频可能因为压缩格式、缩放、明暗、尾部截断导致非完全一致，故需要对视频帧进行重复检测。非常相似定义：缩放、亮度、帧率、水印、格式变换等造成的视频差异(旋转的效果不佳)。本文采用一秒一帧切帧，对每帧提取Phash(perceptual hash algortihm 感知hash算法)值，进行相似度对比。
PHash简介
用于提取图像指纹

缩放为32*32的小图
转为灰度图， Gray = R0.299 + G0.587 + B*0.114
DCT离散余弦变换，只保]]></description><category></category></item><item><title><![CDATA[Python3 下载图片的几种方式速度对比]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/103187976</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/103187976</guid><author>jiaoo</author><pubDate>Thu, 21 Nov 2019 17:54:42 +0800</pubDate><description><![CDATA[Python3 下载图片的几种方式速度对比
import os
import time
import urllib3
import requests
from PIL import Image
from io import BytesIO
from urllib import request
import numpy as np
urls = ["https://cdn.sstatic.net/S...]]></description><category></category></item><item><title><![CDATA[Python prometheus_client使用方式]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/103109561</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/103109561</guid><author>jiaoo</author><pubDate>Sun, 17 Nov 2019 16:01:37 +0800</pubDate><description><![CDATA[背景说明
服务部署在阿里云的K8s上，配置了基于Prometheus的Grafana监控。原本用的是自定义的Metrics接口统计，上报一些字段，后面发现Prometheus自带的监控非常全面好用，适合直接抓取统计，所以做了一些改变。
Python prometheus-client 安装
pip install prometheus-client

Python封装
# encoding: ut...]]></description><category></category></item><item><title><![CDATA[kafka个人理解]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/103107750</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/103107750</guid><author>jiaoo</author><pubDate>Sun, 17 Nov 2019 13:08:27 +0800</pubDate><description><![CDATA[kafka个人理解
现有一个kafka cluster，我们看作是一个文件夹。

Topic
一个topic就是这个文件夹中的一个Excel文件的文件名，他只有逻辑意义，不代表具体的资源。我们先对一个Topic进行处理。

Partition
一个Topic中，也就是上述说的Excel表中有很多张表（Sheet 或者 Partition），每一个Sheet中都存储着数据，从最上面0行开始往下看（消...]]></description><category></category></item><item><title><![CDATA[Conda更新速度慢、更换源]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96994065</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96994065</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:34:34 +0800</pubDate><description><![CDATA[中科大源


conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://m...]]></description><category></category></item><item><title><![CDATA[Centos python 运行缺失libXrender1]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96994013</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96994013</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:33:43 +0800</pubDate><description><![CDATA[yuminstall libXrender-devel.x86_64
]]></description><category></category></item><item><title><![CDATA[Centos python 提示缺失libomp.so(faiss库中)]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993979</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993979</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:33:12 +0800</pubDate><description><![CDATA[1.根据需求执行以下脚本

# CPU version only
conda install faiss-cpu -c pytorch

# GPU version
conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8
conda install faiss-gpu cudatoolkit=9.0 -c pytorch # F...]]></description><category></category></item><item><title><![CDATA[Centos python libstdc++.so.6版本错误]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993946</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993946</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:32:42 +0800</pubDate><description><![CDATA[1.错误示例

/lib64/libstdc++.so.6: version `CXXABI_1.3.9

2.如果已经安装了Anaconda3，替换libstdc++的版本

ln -s /usr/local/anaconda3/lib/libstdc++.so.6 /lib64/libstdc++.so.6
]]></description><category></category></item><item><title><![CDATA[Centos python3.6.5 安装方法]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993912</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993912</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:32:09 +0800</pubDate><description><![CDATA[1. yum install bzip2

2. 下载Anaconda安装脚本

  wgethttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.2.0-Linux-x86_64.sh

3. 执行安装脚本

  sh Anaconda3-5.2.0-Linux-x86_64.sh

  如...]]></description><category></category></item><item><title><![CDATA[Centos Docker 安装]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993877</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993877</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:31:35 +0800</pubDate><description><![CDATA[1. yum install -y yum-utils device-mapper-persistent-data lvm2
2. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. yum install -y docker-ce
4. systemct...]]></description><category></category></item><item><title><![CDATA[Centos docker nvidia-docker安装]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993845</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993845</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:31:02 +0800</pubDate><description><![CDATA[1.典型报错

Unknown runtime specified nvidia

2.安装方法

 docker volume ls -q -f driver=nvidia-docker|xargs -r -I{} -n1 docker ps -q -a -f volume={}|xargs -r docker rm -f
 sudo yum remove nvidia-dock...]]></description><category></category></item><item><title><![CDATA[ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/96993537</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/96993537</guid><author>jiaoo</author><pubDate>Tue, 23 Jul 2019 14:26:36 +0800</pubDate><description><![CDATA[安装OpenBLAS的步骤



（1）下载最新的openblas

   git clonehttps://github.com/xianyi/OpenBLAS.git

（没有安装git，先安装git 。CentOS安装git

   yum install git / apt install git

（2）打开 OpenBLAS

 ...]]></description><category></category></item><item><title><![CDATA[Leetcode 136 只出现过一次的数字]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/90297516</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/90297516</guid><author>jiaoo</author><pubDate>Fri, 17 May 2019 17:34:25 +0800</pubDate><description><![CDATA[异或运算


class Solution:
    def singleNumber(self, nums: List[int]) -&gt; int:
        result = 0
        for num in nums:
            result = result ^ num
        return result


]]></description><category></category></item><item><title><![CDATA[Leetcode 122 买卖股票的最佳时机 II]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/90297413</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/90297413</guid><author>jiaoo</author><pubDate>Fri, 17 May 2019 17:31:00 +0800</pubDate><description><![CDATA[简单递推, 求一个数列中所有上升队列的差值的和.

python知识点:

1.求list的长度,len(list)


class Solution:
    def maxProfit(self, prices: List[int]) -&gt; int:
        result = 0
        for idx in range(len(prices)):
           ...]]></description><category></category></item><item><title><![CDATA[Leetcode 5 最长回文子串 Manacher O(n)]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/90296390</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/90296390</guid><author>jiaoo</author><pubDate>Fri, 17 May 2019 16:59:06 +0800</pubDate><description><![CDATA[python练习题,本题学习的知识点:

1.range(n,m)范围是n~m-1

2.申请一个数组

 L = [0] * N 申请一个N长度的Int数组,并初始值赋值为0



以下为本题解法:

O(n)时间复杂度方法——Manacher算法 转载自:https://blog.youkuaiyun.com/qq_32354501/article/details/80084325

1.思想：

...]]></description><category></category></item><item><title><![CDATA[Leetcode 7 整数反转 python3]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/90266752</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/90266752</guid><author>jiaoo</author><pubDate>Thu, 16 May 2019 16:41:48 +0800</pubDate><description><![CDATA[训练一下python3的语法,刷一些水题

在本题中,学习到了python3中

1.整型范围没有限制

2.字符串翻转[::-1]

3.字符串与整型互转 str() int()


class Solution:
    def reverse(self, x: int) -&gt; int:
        negative = False
        if x &lt; 0:
    ...]]></description><category></category></item><item><title><![CDATA[Ubuntu屏幕触摸旋转]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/89848089</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/89848089</guid><author>jiaoo</author><pubDate>Sun, 05 May 2019 16:25:06 +0800</pubDate><description><![CDATA[使用了HDPortableDisplay的显示器，接在Ubuntu16.04 x86_64 架构的主板上进行触摸。

现在的需求是为了显示效果，应用竖排显示，系统使用xrandr -o right可以实现旋转，由于是有界面的版本

所以也可以用Display里的选项直接进行旋转。但是由于旋转出现了一个问题，触摸还是原来的触摸，

没有随着系统旋转进行旋转。以下使用修改配置文件的方法调整旋转。

1...]]></description><category></category></item><item><title><![CDATA[Ubuntu c++ 删除文件夹或者文件]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/89217961</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/89217961</guid><author>jiaoo</author><pubDate>Thu, 11 Apr 2019 19:17:56 +0800</pubDate><description><![CDATA[废话不多说,以下代码中在Remove方法中传入文件路径即可.


//Recursively delete all the file in the directory.
int rm_dir(std::string dir_full_path) {
    DIR* dirp = opendir(dir_full_path.c_str());
    if(!dirp)
    {
       ...]]></description><category></category></item><item><title><![CDATA[Ubuntu FFmpeg Mjpeg to H264]]></title><link>https://blog.youkuaiyun.com/jiaoo/article/details/89087881</link><guid>https://blog.youkuaiyun.com/jiaoo/article/details/89087881</guid><author>jiaoo</author><pubDate>Mon, 08 Apr 2019 14:15:00 +0800</pubDate><description><![CDATA[读取摄像头的图像，转为原始二进制码流vector&lt;uchar&gt;，加上序列帧的下标ID，利用FFmpeg库中的AV_CODEC_ID_H264编码器进行压缩，转为h264视频流。

以下为C++代码中的转换函数，需要在ubuntu中预装FFmpeg库才可以使用。


#include "MjpegtoH264.h"

FILE* outPath;

AVCodec* dec;
AVCod...]]></description><category></category></item></channel></rss>