<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[seaweedgiggle的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/seaweedgiggle</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; seaweedgiggle]]></copyright><item><title><![CDATA[关于mmsegmentation自定义数据集的使用]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/119082569</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/119082569</guid><author>seaweedgiggle</author><pubDate>Sun, 25 Jul 2021 15:40:47 +0800</pubDate><description><![CDATA[优快云上关于mmsegmentation的资料好像很少，在这里经过我几天的摸索，可以在这里大致介绍一下自定义数据集要怎么使用：
数据集格式
要将自己的数据集整理成下面的格式：
其中annotation一定要是二维图片(即HxW)，且像素值就是像素对应的类别值

├── data
│   ├── my_dataset
│   │   ├── img_dir
│   │   │   ├── train
│   │   │   │   ├── xxx{img_suffix}
│   │   │   │   ├─]]></description><category></category></item><item><title><![CDATA[用python cv2将三维RGB图像转为二维灰度图像的小demo]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/119082488</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/119082488</guid><author>seaweedgiggle</author><pubDate>Sun, 25 Jul 2021 15:25:59 +0800</pubDate><description><![CDATA[最近用mmsegmentation的时候，需要将label转为HxW的格式。
代码：
import os
import cv2
import numpy as np
from  matplotlib import pyplot as plt
%matplotlib inline
imglist = os.listdir(os.getcwd())
for imgname in imglist:
    img = cv2.imread(imgname)
    img = cv2.cvtColor(img, ]]></description><category></category></item><item><title><![CDATA[二叉树的各种遍历]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/109138434</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/109138434</guid><author>seaweedgiggle</author><pubDate>Sat, 17 Oct 2020 21:26:20 +0800</pubDate><description><![CDATA[非递归DFS
前序：处理顺序 中-&gt;左-&gt;右		
入栈顺序：右-&gt;左
后序：处理顺序 左-&gt;右-&gt;中 ==&gt; 中-&gt;右-&gt;左
入栈顺序：左-&gt;右   只需在最后再颠倒顺序即可
中序： 要设置一个指针一路指向左孩子直到NULL，用一个栈记录经历了但未处理的节点。 左孩子NULL后，取栈顶元素将值输出，再将该节点右孩子入栈。
注意： 中序循环条件为while(!s.empty() || cur!=NULL)
因为栈空时有可能cur还在一个节点上，还有右孩子
]]></description><category></category></item><item><title><![CDATA[leetcode32——最长有效括号 两种方法实现]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/108833179</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/108833179</guid><author>seaweedgiggle</author><pubDate>Sun, 27 Sep 2020 18:40:40 +0800</pubDate><description><![CDATA[题目：
给定一个只包含 ‘(’ 和 ‘)’ 的字符串，找出最长的包含有效括号的子串的长度。
示例 1:
输入: “(()”
输出: 2
解释: 最长有效括号子串为 “()”
示例 2:
输入: “)()())”
输出: 4
解释: 最长有效括号子串为 “()()”
方法1：贪心
采用left，right两个计数器。
从右向左遍历，如果左括号比右括号多则计数器置0，右括号与左括号相等时记录长度，与最大长度比较。
那如果右括号一直比左括号多呢？
从左向右再遍历一次啦！
代码：
#include&lt;iostr]]></description><category></category></item><item><title><![CDATA[leetcode 155 ——最小栈 c++实现]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/108687359</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/108687359</guid><author>seaweedgiggle</author><pubDate>Sat, 19 Sep 2020 23:51:42 +0800</pubDate><description><![CDATA[设计一个支持 push ，pop ，top 操作，并能在常数时间内检索到最小元素的栈。

push(x) —— 将元素 x 推入栈中。
pop() —— 删除栈顶的元素。
top() —— 获取栈顶元素。
getMin() ——    检索栈中的最小元素。
示例:

输入：
[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”]
[[],[-2],[0],[-3],[],[],[],[]]
输出：
[null,null,null,nul]]></description><category></category></item><item><title><![CDATA[!python爬虫新手项目 爬取知乎图片！非常简单看了就会不会你打我！]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105590407</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105590407</guid><author>seaweedgiggle</author><pubDate>Fri, 17 Apr 2020 22:58:43 +0800</pubDate><description><![CDATA[爬虫的三个步骤：

找到你想爬取的元素的位置 可以用Chrome的检查元素来实现
例如一个知乎帖子的图片，可以看到图片地址是在figure节点下的img节点中的data-original属性中
构建正则表达式，将这个地址选择出来
保存到本地路径中

import requests
from bs4 import BeautifulSoup
from requests.exceptions impo...]]></description><category></category></item><item><title><![CDATA[并查集]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105073948</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105073948</guid><author>seaweedgiggle</author><pubDate>Tue, 24 Mar 2020 16:11:51 +0800</pubDate><description><![CDATA[STA的阴谋
题目描述
有一天STA加了个实验室，为了庆祝，他买了块白板挂在自己的座位旁边。每天往上面写点奇怪的想法。
因此STA在实验室发呆的时候喜欢盯着白板，看看能不能把上面的想法关联起来。如果STA觉得两个想法有联系，就会把两个想法之间连一条线。那么显然，想法之间还可以通过别的想法间接关联起来。
于是STA偶尔也会思考，到底两个特定的想法之间是不是有关联的，无论是直接的，还是间接的。
但是S...]]></description><category></category></item><item><title><![CDATA[堆排序]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105073466</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105073466</guid><author>seaweedgiggle</author><pubDate>Tue, 24 Mar 2020 15:48:14 +0800</pubDate><description><![CDATA[与快速排序一样，堆排序的时间复杂度仅为O(NlogN)
不妨假设要从小到大排序
思路：先将要排序的数存进一个数组中，建立一个最小堆
创建堆
例如将数组h[100]中的元素建立一个堆，只需要从最后一个节点往上一次进行向下调整就可以了
void create()//建堆
{
    int i;
    for(i=n;i&gt;=1;i--)   down(i);
}

void down(int ...]]></description><category></category></item><item><title><![CDATA[堆]]></title><link>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105072762</link><guid>https://blog.youkuaiyun.com/seaweedgiggle/article/details/105072762</guid><author>seaweedgiggle</author><pubDate>Tue, 24 Mar 2020 15:30:35 +0800</pubDate><description><![CDATA[先看一道题目：
STA的分裂
题目描述
不知道为什么，STA的生活变得异常忙碌，每天起来就发现自己有n件工作要做。于是STA只好把他们都记下来，拉成一个待办清单。
白天STA最多也只能做m次操作，要么就是从待办清单上挑一件工作完成它，要么就是把一件新的工作加到清单里面。
晚上STA还要处理白天没处理完的工作，这样才能上床睡觉。
为了提高自己的效率，STA决定给这些工作各自都标上一个优先级p。为了好...]]></description><category></category></item></channel></rss>