日本语本当苦手,翻译出错还请在 issue 指正或直接发起 PR。代码算法方面的问题请往原 repo 提。现阶段我并没有做这些题目(捂脸……),只是翻译而已,因此算法细节可能没有翻译到位。不太好翻译的地方我也会在一定程度上意译
自行发挥,请各位谅解。后续在写代码的途中会对翻译有所更正。我会尽量附上英文术语,有翻译不清楚的地方还请参照原文、英语及代码。关于LaTeX公式渲染问题:
在线阅读建议安装MathJax Plugin for Github插件获得
其实不太良好的公式阅读体验;离线阅读建议使用可以渲染LaTeX公式的Markdown编辑器/阅读器,如Typora和MWeb。VSCode使用者建议安装Markdown All in One插件渲染LaTeX公式;
各个README文件在完成基本校对之后会转为PDF文件。PDF文件阅读效果最佳。当前进度:
⣿⣿⣿⣿⣿⣿⣀⣀⣀⣀ 60%
感谢!
——gzr
为图像处理初学者设计的 100 个问题完成了啊啊啊啊啊(´;ω;`)
和蝾螈一起学习基本的图像处理知识,理解图像处理算法吧!解答这里的提出的问题请不要调用OpenCV
的API
,自己动手实践吧!虽然包含有答案,但不到最后请不要参考。一边思考,一边完成这些问题吧!
-
问题不是按照难易程度排序的。虽然我尽可能地提出现在流行的问题,但在想不出新问题的情况下也会提出一些没怎么听说过的问题(括弧笑)。
-
**这里的内容参考了各式各样的文献,因此也许会有不对的地方,请注意!**如果发现了错误还请 pull requests !!
-
【注意】使用这个页面造成的任何事端,本人不负任何责任。
俺也一样。使用这个页面造成的任何事端,本人不负任何责任。
——gzr
PythonとC++の好きな方でやってみてね♡(最近Javascriptも追加してるよ)
2019.5.14. これ金にならんかなぁ…
意見や使用実績などあればご一報ください!
もしこれがみなさんのお役に立ったら寄付や募金なども受け付けてます笑
★追記 2019.11.7
Study-AI株式会社様 http://kentei.ai/ のAI実装検定のシラバスに使用していただくことになりました!(ディープラーニング無限ノックも) Study-AI株式会社様ではAIスキルを学ぶためのコンテンツを作成されており、AIを学ぶ上でとても参考になります!
検定も実施されてるので、興味ある方はぜひ受けることをお勧めします!
深度学习无限问请点击这里。
Twitterで更新を発信してますぅ
https://twitter.com/curry_frog
- 2019.11.22 [C++] Q.49~50 モルフォロジー処理(オープンイング、クロージング)を追加
- 2019.11.21 [C++] Q.48 モルフォロジー処理(収縮)を追加
- 2019.11.20 [C++] Q.47 モルフォロジー処理(膨張)を追加
- 2019.10.27 [C++] Q.44~46 Hough直線検出を追加、[Python]の解答を修正
- 2019.10.22 [C++] Q.41~43 Cannyのエッジ検出を追加, [Python] の解答を修正
- 2019.9.3 [Python] Q.81~100のAnswerコードをメソッド化
- 2019.9.2 [Python] Q.61~80のAnswerコードをメソッド化
- 2019.8.28 [Python] Q.51~60のAnswerコードをメソッド化
- 2019.8.18 [Python] Q.50までのAnswerコードをメソッド化
- 2019.8.12 [C++]Q.36-40の解答追加
- 2019.7.32 [C++]Q.32-35の解答追加
- 2019.7.23 [C++]Q.30-31の解答追加
- 2019.7.22 [C++]Q.25-29の解答追加
- 2019.6.30 Q.21-24のC++の解答追加
- 2019.6.8 JavaScriptのチュートリアルを追加
- 2019 Q.11-20 C++ を追加 Q.15 Sobelを修正
- 2019.3.25 Q.31 フーリエ系 Q.36 DCT, Q.47,48 トップハット変換系を修正
- 2019.3.13 Q95-100 Neural Networkを修正
- 2019.3.8 Questions_01_10 にC++の解答を追加!
- 2019.3.7 TutorialにC++用を追加 そろそろC++用の答えもつくろっかなーと
- 2019.3.5 各Questionの答えをanswersディレクトリに収納
- 2019.3.3 Q.18-22. 一部修正
- 2019.2.26 Q.10. メディアンフィルタの解答を一部修正
- 2019.2.25 Q.9. ガウシアンフィルタの解答を一部修正
- 2019.2.23 Q.6. 減色処理のREADMEを修正
- 2019.1.29 HSVを修正
打开终端,输入以下指令。使用这个命令,你可以将整个目录完整地克隆到你的计算机上。
$ git clone https://github.com/yoyoyo-yo/Gasyori100knock.git
然后,选择你喜欢的 Python 或者 C++,阅读下一部分——Tutorial!
内容 | Python | C++ | |
---|---|---|---|
1 | 安装 | ✓ | ✓ |
2 | 读取、显示图像 | ✓ | ✓ |
3 | 操作像素 | ✓ | ✓ |
4 | 拷贝图像 | ✓ | ✓ |
5 | 保存图像 | ✓ | ✓ |
6 | 练习问题 | ✓ | ✓ |
请在这之后解答提出的问题。问题内容分别包含在各个文件夹中。请使用示例图片assets/imori.jpg
。在各个文件夹中的README.md
里有问题和解答。运行答案,请使用以下指令(自行替换文件夹和文件名):
python answers/answer_@@.py
详细的问题请参见各页面下的README
文件(各个页面下滑就可以看见)。
- 为了简化答案,所以没有编写
main()
函数。 - 虽然我们的答案以
numpy
为基础,但是还请你自己查找numpy
的基本使用方法。
序号 | 问题 | Python | C++ |
---|---|---|---|
1 | 通道替换 | ✓ | ✓ |
2 | 灰度化(Grayscale) | ✓ | ✓ |
3 | 二值化(Thresholding) | ✓ | ✓ |
4 | 大津算法 | ✓ | ✓ |
5 | HSV 变换 | ✓ | ✓ |
6 | 减色处理 | ✓ | ✓ |
7 | 平均池化(Average Pooling) | ✓ | ✓ |
8 | 最大池化(Max Pooling) | ✓ | ✓ |
9 | 高斯滤波(Gaussian Filter) | ✓ | ✓ |
10 | 中值滤波(Median filter) | ✓ | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
11 | 均值滤波 | ✓ | ✓ |
12 | Motion Filter | ✓ | ✓ |
13 | MAX-MIN 滤波 | ✓ | ✓ |
14 | 微分滤波 | ✓ | ✓ |
15 | Sobel 滤波 | ✓ | ✓ |
16 | Prewitt 滤波 | ✓ | ✓ |
17 | Laplacian 滤波 | ✓ | ✓ |
18 | Emboss 滤波 | ✓ | ✓ |
19 | LoG 滤波 | ✓ | ✓ |
20 | 直方图 | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
21 | 直方图归一化(Histogram Normalization) | ✓ | ✓ |
22 | 直方图操作 | ✓ | ✓ |
23 | 直方图均衡化(Histogram Equalization) | ✓ | ✓ |
24 | 伽玛校正(Gamma Correction) | ✓ | ✓ |
25 | 最邻近插值(Nearest-neighbor Interpolation) | ✓ | ✓ |
26 | 双线性插值(Bilinear Interpolation) | ✓ | ✓ |
27 | 双三次插值(Bicubic Interpolation) | ✓ | ✓ |
28 | 仿射变换(Afine Transformations)——平行移动 | ✓ | ✓ |
29 | 仿射变换(Afine Transformations)——放大缩小 | ✓ | ✓ |
30 | 仿射变换( Afine Transformations )——旋转 | ✓ | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
31 | 仿射变换(Afine Transformations)——倾斜 | ✓ | ✓ |
32 | 傅立叶变换(Fourier Transform) | ✓ | ✓ |
33 | 傅立叶变换——低通滤波 | ✓ | ✓ |
34 | 傅立叶变换——高通滤波 | ✓ | ✓ |
35 | 傅立叶变换——带通滤波 | ✓ | ✓ |
36 | JPEG 压缩——第一步:离散余弦变换(Discrete Cosine Transformation) | ✓ | ✓ |
37 | 峰值信噪比(Peak Signal to Noise Ratio) | ✓ | ✓ |
38 | JPEG 压缩——第二步:离散余弦变换+量化 | ✓ | ✓ |
39 | JPEG 压缩——第三步:YCbCr 色彩空间 | ✓ | ✓ |
40 | JPEG 压缩——第四步:YCbCr+DCT+量化 | ✓ | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
41 | Canny 边缘检测:第一步——边缘强度 |
✓ | ✓ |
42 | Canny 边缘检测:第二步——边缘细化 |
✓ | ✓ |
43 | Canny 边缘检测:第三步——滞后阈值 |
✓ | ✓ |
44 | 霍夫变换(Hough Transform)/直线检测——第一步:霍夫变换 | ✓ | ✓ |
45 | 霍夫变换(Hough Transform)/直线检测——第二步:NMS | ✓ | ✓ |
46 | 霍夫变换(Hough Transform)/直线检测——第三步:霍夫逆变换 | ✓ | ✓ |
47 | 形态学处理:膨胀(Dilate) | ✓ | ✓ |
48 | 形态学处理:腐蚀(Erode) | ✓ | ✓ |
49 | 开运算(Opening Operation) | ✓ | ✓ |
50 | 闭运算(Closing Operation) | ✓ | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
61 | 4-邻接的连接数 | ✓ | |
62 | 8-邻接的连接数 | ✓ | |
63 | 细化处理 | ✓ | |
64 | Hilditch 细化算法 | ||
65 | Zhang-Suen 细化算法 | ✓ | |
66 | 方向梯度直方图(HOG)第一步:梯度幅值・梯度方向 | ✓ | |
67 | 方向梯度直方图(HOG)第二步:梯度直方图 | ✓ | |
68 | 方向梯度直方图(HOG)第三步:直方图归一化 | ✓ | |
69 | 方向梯度直方图(HOG)第四步:可视化特征量 | ✓ | |
70 | 色彩追踪(Color Tracking) | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
71 | 掩膜(Masking) | ✓ | |
72 | 掩膜(色彩追踪(Color Tracking)+形态学处理) | ✓ | |
73 | 缩小和放大 | ✓ | |
74 | 使用差分金字塔提取高频成分 | ✓ | |
75 | 高斯金字塔(Gaussian Pyramid) | ✓ | |
76 | 显著图(Saliency Map) | ✓ | |
77 | Gabor 滤波器(Gabor Filter) | ✓ | |
78 | 旋转 Gabor 滤波器 | ✓ | |
79 | 使用 Gabor 滤波器进行边缘检测 | ✓ | |
80 | 使用 Gabor 滤波器进行特征提取 | ✓ |
序号 | 内容 | Python | C++ |
---|---|---|---|
81 | Hessian 角点检测 | ✓ | |
82 | Harris 角点检测第一步:Sobel + Gausian | ✓ | |
83 | Harris 角点检测第二步:角点检测 | ✓ | |
84 | 简单图像识别第一步:减色化+直方图 | ✓ | |
85 | 简单图像识别第二步:判别类别 | ✓ | |
86 | 简单图像识别第三步:评估 | ✓ | |
87 | 简单图像识别第四步:k-NN | ✓ | |
88 | k-平均聚类算法(k -means Clustering)第一步:生成质心 | ✓ | |
89 | k-平均聚类算法(k -means Clustering)第二步:聚类 | ✓ | |
90 | k-平均聚类算法(k -means Clustering)第三步:调整初期类别 | ✓ |
- 问题81待翻译
- 问题100待翻译
- 链接修复
@article{yoyoyo-yoGasyori100knock,
Author = {yoyoyo-yo},
Title = {Gasyori100knock},
Journal = {https://github.com/yoyoyo-yo/Gasyori100knock},
Year = {2019}
}
© Yoshito Nagaoka All Rights Reserved.
This is under MIT License.
https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/LICENSE