算法学习
点点点的博客
whu cser
展开
-
图像自动裁剪和角度矫正
引言在做图像处理方面的毕设,希望在正式处理图像之前先把图像处理得比较“正”,比如对下面的图片,希望它是堂正的,就不用歪着头看。所以用python的cv库写了一个自动矫正的程序。注意:为了让图像和背景尽量区别,最好使用纯黑的背景(比如黑衣服,还能吸光)步骤1.提取目标的边界,比如课本2.将边界之内的部分填充白色,那么这张图片就变成了掩码3.根据掩码,将原来的图片扣到新的图片里4.根据边界的轮廓得到它的最小外接矩形5.根据矩形的偏斜角度,旋转图像代码from PIL import Ima原创 2020-12-25 23:15:36 · 4327 阅读 · 2 评论 -
广度优先遍历(二)八皇后
这是上篇博客 广度优先遍历(一) 全排列前言八皇后问题和解数独问题是回溯算法的经典例题。依然建议大家自己动手先试试,体会体会。回溯算法框架:八皇后问题1)在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。2)思考① 8x8的棋盘要放8个皇后,所以每一行能且只能放一个皇后。②放完第 i 行之后,下一行的皇后放在哪里呢?答:放在下一行的、和前 i 行放置的皇后不冲突的位置。③什么时候返回一个结果?答:成功放置原创 2020-06-27 00:22:48 · 1860 阅读 · 1 评论 -
广度优先遍历(一) 全排列
(零)广度优先遍历、回溯减枝、本质上都是树(决策树)的遍历。Leetcode 46.全排列原题链接给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]分析:这道题有多种不同的算法,这里我利用bfs算法。可以从数学上得全排列方法获得借鉴:第一个数字选1,有多少中排列第一个选2,有多少种排列…算法可以用一颗树来描述:决策树的遍历分原创 2020-06-26 10:58:39 · 1799 阅读 · 1 评论