ImageProcessing100Wen-master

所属分类:图形图像处理
开发工具:C/C++
文件大小:13771KB
下载次数:0
上传日期:2020-08-04 14:33:26
上 传 者xzlin
说明:  图像处理经典一百问的所有代码,涵盖图像处理入门基础,适合初学者
(Image processing classic 100 questions of all the code, covering the basic image processing, suitable for beginners)

文件列表:
.DS_Store (10244, 2019-12-14)
.ipynb_checkpoints (0, 2019-12-14)
.ipynb_checkpoints\Image_processing_tips-checkpoint.ipynb (36716, 2019-12-14)
assets (0, 2019-12-14)
assets\imori.jpg (12638, 2019-12-14)
assets\imori_512x512.jpg (82087, 2019-12-14)
assets\sample.png (52743, 2019-12-14)
Dataset (0, 2019-12-14)
Dataset\test (0, 2019-12-14)
Dataset\test\akahara_0009.jpg (24781, 2019-12-14)
Dataset\test\akahara_0010.jpg (63399, 2019-12-14)
Dataset\test\akahara_0011.jpg (20396, 2019-12-14)
Dataset\test\madara_0009.jpg (19181, 2019-12-14)
Dataset\test\madara_0010.jpg (21391, 2019-12-14)
Dataset\test\madara_0011.jpg (41841, 2019-12-14)
Dataset\train (0, 2019-12-14)
Dataset\train\akahara_0004.jpg (59463, 2019-12-14)
Dataset\train\akahara_0005.jpg (20008, 2019-12-14)
Dataset\train\akahara_0007.jpg (47112, 2019-12-14)
Dataset\train\madara_0001.jpg (51205, 2019-12-14)
Dataset\train\madara_0003.jpg (26689, 2019-12-14)
Dataset\train\madara_0006.jpg (49384, 2019-12-14)
Image_processing_tips.ipynb (36978, 2019-12-14)
LICENSE (1072, 2019-12-14)
Question_01_10 (0, 2019-12-14)
Question_01_10\answers_cpp (0, 2019-12-14)
Question_01_10\answers_cpp\answer_1.cpp (931, 2019-12-14)
Question_01_10\answers_cpp\answer_10.cpp (1496, 2019-12-14)
Question_01_10\answers_cpp\answer_2.cpp (887, 2019-12-14)
Question_01_10\answers_cpp\answer_3.cpp (1401, 2019-12-14)
Question_01_10\answers_cpp\answer_4.cpp (2145, 2019-12-14)
Question_01_10\answers_cpp\answer_5.cpp (2935, 2019-12-14)
Question_01_10\answers_cpp\answer_6.cpp (842, 2019-12-14)
Question_01_10\answers_cpp\answer_7.cpp (1165, 2019-12-14)
Question_01_10\answers_cpp\answer_8.cpp (1128, 2019-12-14)
Question_01_10\answers_cpp\answer_9.cpp (1746, 2019-12-14)
Question_01_10\answers_image (0, 2019-12-14)
Question_01_10\answers_image\answer_1.jpg (11090, 2019-12-14)
Question_01_10\answers_image\answer_10.jpg (9113, 2019-12-14)
... ...

# 图像处理 100 问!! > * 日本语本当苦手,==翻译出错还请在issue指正或直接发起 PR。代码算法方面的问题请往[原repo](https://github.com/yoyoyo-yo/Gasyori100knock)提。==现阶段我并没有做这些题目(捂脸),只是翻译而已,因此算法细节可能没有翻译到位。不太好翻译的地方我也会在一定程度上意译~~自行发挥~~,请各位谅解。后续在写代码的途中会对翻译有所更正。我会尽量附上英文术语,有翻译不清楚的地方还请参照原文、英语及代码。 > > * 关于$\LaTeX$公式渲染问题: > * 在线阅读建议安装[MathJax Plugin for Github](https://chrome.google.com/webstore/detail/mathjax-plugin-for-github/ioemnmodlmafdkllaclgeombjnmnbima)插件获得~~其实不太~~良好的公式阅读体验; > * 离线阅读建议使用可以渲染$\LaTeX$公式的Markdown编辑器/阅读器,如[Typora](https://www.typora.io/)(我是用这个编写和转换PDF的)和[MWeb](https://zh.mweb.im/)。VSCode使用者建议安装[Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)插件渲染$\LaTeX$公式; > * 各个README文件在完成基本校对之后会转为PDF文件。PDF文件阅读效果最佳。 > > * 有签名戳`——gzr`的引用部分和脚注都是译注。译注可能会打扰大家阅读,请各位谅解。 > > 感谢! > > ——gzr ***English is here*** (KuKuXia translates into English) > https://github.com/KuKuXia/Image_Processing_100_Questions ***Chinese is here*** (gzr2017, my ex-colleague, translates into Chinese) > https://github.com/gzr2017/ImageProcessing100Wen ## Description 为图像处理初学者设计的100个问题完成了啊啊啊啊啊( ;ω;`) 和蝾螈一起学习基本的图像处理知识,理解图像处理算法吧!解答这里的提出的问题请不要调用`OpenCV`的`API`,**自己动手实践吧**!虽然包含有答案,但不到最后请不要参考。一边思考,一边完成这些问题吧! - **问题不是按照难易程度排序的。虽然我尽可能地提出现在流行的问题,但在想不出新问题的情况下也会提出一些没怎么听说过的问题(括弧笑)。** - **这里的内容参考了各式各样的文献,因此也许会有不对的地方,请注意!**如果发现了错误还请发起PR ,帮助我改正!! - 【注意】使用这个页面造成的任何事端,本人不负任何责任。请您自担风险。 > 俺也一样。使用这个页面造成的任何事端,本人不负任何责任。 > > ——gzr 喜欢Python和C++的人来试试吧(最近新加了JavaScript呢) 2019.5.14. これ金にならんかなぁ... 如果有什么意见或者成绩的话也请一并告诉我! 如果这对大家有用的话,我们也将接受捐赠(括弧笑) ## Related ★追記 2019.11.7 Study-AI株式会社様 http://kentei.ai/ のAI実装検定のシラハスに使用していたたくことになりました!(ティーフラーニンク無限ノックも)Study-AI株式会社様てはAIスキルを学ふためのコンテンツを作成されており、AIを学ふ上てとても参考になります! 検定も実施されてるのて、興味ある方はせひ受けることをお勧めします! **深度学习无限问请点击**[这里](https://github.com/yoyoyo-yo/DeepLearningMugenKnock)。 ## Recent 我也在[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を修正 ## 首先 打开终端,输入以下指令。使用这个命令,你可以将整个目录完整地克隆到你的计算机上。 ```bash $ git clone https://github.com/yoyoyo-yo/Gasyori100knock.git ``` 然后,选择你喜欢的 Python 或者 C++,阅读下一部分——Tutorial! ## [Tutorial](Tutorial) | | 内容 | Python | C++ | JavaScript | | :--: | :------------: | :---------------------: | :-------------------------------------: | ---------- | | 1 | 安装 | [](Tutorial) | [](Tutoria/README_opencv_c_install.md) | | | 2 | 读取、显示图像 | [](Tutorial/README.md) | [](Tutoria/README_opencv_c_install.md) | | | 3 | 操作像素 | [](Tutorial/README.md) | [](Tutoria/README_opencv_c_install.md) | | | 4 | 拷贝图像 | [](Tutorial/README.md) | [](Tutoria/README_opencv_c_install.md) | | | 5 | 保存图像 | [](Tutorial/README.md) | [](Tutoria/README_opencv_c_install.md) | | | 6 | 练习问题 | [](Tutorial/README.md) | [](Tutoria/README_opencv_c_install.md) | | [Matplotlib和OpenCV的Tips](Image_processing_tips.ipynb) 请在这之后解答提出的问题。问题内容分别包含在各个文件夹中。请使用示例图片`assets/imori.jpg`。在各个文件夹中的`README.md`里有问题和解答。运行答案,请使用以下指令(自行替换文件夹和文件名): ```python python answers/answer_@@.py ``` ## 问题 详细的问题请参见各页面下的`README`文件(各个页面下滑就可以看见)。 - 为了简化答案,所以没有编写`main()`函数。 - 虽然我们的答案以`numpy`为基础,但是还请你自己查找`numpy`的基本使用方法。 ### [问题1 - 10](Question_01_10/README.md) | 序号 | 问题 | Python | C++ | 翻译一校 | | :--: | :---------------------------------------------------------: | :--------------------------------------: | :-------------------------------------------: | :------: | | 1 | [通道替换](Question_01_10/README.md) | [](Question_01_10/answers/answer_1.py) | [](Question_01_10/answers_cpp/answer_1.cpp) | | | 2 | [灰度化(Grayscale)](Question_01_10/README.md) | [](Question_01_10/answers/answer_2.py) | [](Question_01_10/answers_cpp/answer_2.cpp) | | | 3 | [二值化(Thresholding)](Question_01_10/README.md) | [](Question_01_10/answers/answer_3.py) | [](Question_01_10/answers_cpp/answer_3.cpp) | | | 4 | [大津二值化算法(Otsu's Method)](Question_01_10/README.md) | [](Question_01_10/answers/answer_4.py) | [](Question_01_10/answers_cpp/answer_4.cpp) | | | 5 | [$\text{HSV}$变换](Question_01_10/README.md) | [](Question_01_10/answers/answer_5.py) | [](Question_01_10/answers_cpp/answer_5.cpp) | | | 6 | [减色处理](Question_01_10/README.md) | [](Question_01_10/answers/answer_6.py) | [](Question_01_10/answers_cpp/answer_6.cpp) | | | 7 | [平均池化(Average Pooling)](Question_01_10/README.md) | [](Question_01_10/answers/answer_7.py) | [](Question_01_10/answers_cpp/answer_7.cpp) | | | 8 | [最大池化(Max Pooling)](Question_01_10/README.md) | [](Question_01_10/answers/answer_8.py) | [](Question_01_10/answers_cpp/answer_8.cpp) | | | 9 | [高斯滤波(Gaussian Filter)](Question_01_10/README.md) | [](Question_01_10/answers/answer_9.py) | [](Question_01_10/answers_cpp/answer_9.cpp) | | | 10 | [中值滤波(Median Filter)](Question_01_10/README.md) | [](Question_01_10/answers/answer_10.py) | [](Question_01_10/answers_cpp/answer_10.cpp) | | ### [问题11 - 20](Question_11_20/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | -------------------------------------------- | :------: | | 11 | [均值滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_1.py) | [](Question_11_20/answers_cpp/answer_1.cpp) | | | 12 | [Motion Filter](Question_11_20/README.md) | [](Question_11_20/answers/answer_2.py) | [](Question_11_20/answers_cpp/answer_2.cpp) | | | 13 | [MAX-MIN滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_3.py) | [](Question_11_20/answers_cpp/answer_3.cpp) | | | 14 | [差分滤波器(Differential Filter)](Question_11_20/README.md) | [](Question_11_20/answers/answer_4.py) | [](Question_11_20/answers_cpp/answer_4.cpp) | | | 15 | [Sobel滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_5.py) | [](Question_11_20/answers_cpp/answer_5.cpp) | | | 16 | [Prewitt滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_6.py) | [](Question_11_20/answers_cpp/answer_6.cpp) | | | 17 | [Laplacian滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_7.py) | [](Question_11_20/answers_cpp/answer_7.cpp) | | | 18 | [Emboss滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_8.py) | [](Question_11_20/answers_cpp/answer_8.cpp) | | | 19 | [LoG滤波器](Question_11_20/README.md) | [](Question_11_20/answers/answer_9.py) | [](Question_11_20/answers_cpp/answer_9.cpp) | | | 20 | [直方图](Question_01_10/answers/answer_10.py) | [](Question_11_20/answers/answer_10.py) | | | ### [问题21-30](Question_21_30/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | --------------------------------------------- | :------: | | 21 | [直方图归一化(Histogram Normalization)](Question_21_30/README.md) | [](Question_21_30/answers/answer_1.py) | [](Question_21_30/answers_cpp/answer_1.cpp) | | | 22 | [直方图操作](Question_21_30/README.md) | [](Question_21_30/answers/answer_2.py) | [](Question_21_30/answers_cpp/answer_2.cpp) | | | 23 | [直方图均衡化(Histogram Equalization)](Question_21_30/README.md) | [](Question_21_30/answers/answer_3.py) | [](Question_21_30/answers_cpp/answer_3.cpp) | | | 24 | [伽玛校正(Gamma Correction)](Question_21_30/README.md) | [](Question_21_30/answers/answer_4.py) | [](Question_21_30/answers_cpp/answer_4.cpp) | | | 25 | [最邻近插值(Nearest-neighbor Interpolation)](Question_21_30/README.md) | [](Question_21_30/answers/answer_5.py) | [](Question_21_30/answers_cpp/answer_5.cpp) | | | 26 | [双线性插值(Bilinear Interpolation)](Question_21_30/README.md) | [](Question_21_30/answers/answer_6.py) | [](Question_21_30/answers_cpp/answer_6.cpp) | | | 27 | [双三次插值(Bicubic Interpolation)](Question_21_30/README.md) | [](Question_21_30/answers/answer_7.py) | [](Question_21_30/answers_cpp/answer_7.cpp) | | | 28 | [仿射变换(Afine Transformations)——平行移动](Question_21_30/README.md) | [](Question_21_30/answers/answer_8.py) | [](Question_21_30/answers_cpp/answer_8.cpp) | | | 29 | [仿射变换(Afine Transformations)——放大缩小](Question_21_30/README.md) | [](Question_21_30/answers/answer_9.py) | [](Question_21_30/answers_cpp/answer_9.cpp) | | | 30 | [仿射变换( Afine Transformations )——旋转](Question_21_30/README.md) | [](Question_21_30/answers/answer_10.py) | [](Question_21_30/answers_cpp/answer_10.cpp) | | ### [问题31-40](Question_31_40/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | --------------------------------------------- | :------: | | 31 | [仿射变换(Afine Transformations)——倾斜](Question_31_40/README.md) | [](Question_31-40/answers/answer_1.py) | [](Question_31-40/answers_cpp/answer_1.cpp) | | | 32 | [傅立叶变换(Fourier Transform)](Question_31_40/README.md) | [](Question_31-40/answers/answer_2.py) | [](Question_31-40/answers_cpp/answer_2.cpp) | | | 33 | [傅立叶变换——低通滤波](Question_31_40/README.md) | [](Question_31-40/answers/answer_3.py) | [](Question_31-40/answers_cpp/answer_3.cpp) | | | 34 | [傅立叶变换——高通滤波](Question_31_40/README.md) | [](Question_31-40/answers/answer_4.py) | [](Question_31-40/answers_cpp/answer_4.cpp) | | | 35 | [傅立叶变换——带通滤波](Question_31_40/README.md) | [](Question_31-40/answers/answer_5.py) | [](Question_31-40/answers_cpp/answer_5.cpp) | | | 36 | [JPEG 压缩——第一步:离散余弦变换(Discrete Cosine Transformation)](Question_31_40/README.md) | [](Question_31-40/answers/answer_6.py) | [](Question_31-40/answers_cpp/answer_6.cpp) | | | 37 | [峰值信噪比(Peak Signal to Noise Ratio)](Question_31_40/README.md) | [](Question_31-40/answers/answer_7.py) | [](Question_31-40/answers_cpp/answer_7.cpp) | | | 38 | [JPEG 压缩——第二步:离散余弦变换+量化](Question_31_40/README.md) | [](Question_31-40/answers/answer_8.py) | [](Question_31-40/answers_cpp/answer_8.cpp) | | | 39 | [JPEG 压缩——第三步:YCbCr 色彩空间](Question_31_40/README.md) | [](Question_31-40/answers/answer_9.py) | [](Question_31-40/answers_cpp/answer_9.cpp) | | | 40 | [JPEG 压缩——第四步:YCbCr+DCT+量化](Question_31_40/README.md) | [](Question_31-40/answers/answer_10.py) | [](Question_31-40/answers_cpp/answer_10.cpp) | | ### [问题41-50](Question_41_50/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | --------------------------------------------- | :------: | | 41 | [`Canny`边缘检测:第一步——边缘强度](Question_41_50/README.md) | [](Question_41-50/answers/answer_1.py) | [](Question_41-50/answers_cpp/answer_1.cpp) | | | 42 | [`Canny`边缘检测:第二步——边缘细化](Question_41_50/README.md) | [](Question_41-50/answers/answer_2.py) | [](Question_41-50/answers_cpp/answer_2.cpp) | | | 43 | [`Canny`边缘检测:第三步——滞后阈值](Question_41_50/README.md) | [](Question_41-50/answers/answer_3.py) | [](Question_41-50/answers_cpp/answer_3.cpp) | | | 44 | [霍夫变换(Hough Transform)/直线检测——第一步:霍夫变换](Question_41_50/README.md) | [](Question_41-50/answers/answer_4.py) | [](Question_41-50/answers_cpp/answer_4.cpp) | | | 45 | [霍夫变换(Hough Transform)/直线检测——第二步:NMS](Question_41_50/README.md) | [](Question_41-50/answers/answer_5.py) | [](Question_41-50/answers_cpp/answer_5.cpp) | | | 46 | [霍夫变换(Hough Transform)/直线检测——第三步:霍夫逆变换](Question_41_50/README.md) | [](Question_41-50/answers/answer_6.py) | [](Question_41-50/answers_cpp/answer_6.cpp) | | | 47 | [形态学处理:膨胀(Dilate)](Question_41_50/README.md) | [](Question_41-50/answers/answer_7.py) | [](Question_41-50/answers_cpp/answer_7.cpp) | | | 48 | [形态学处理:腐蚀(Erode)](Question_41_50/README.md) | [](Question_41-50/answers/answer_8.py) | [](Question_41-50/answers_cpp/answer_8.cpp) | | | 49 | [开运算(Opening Operation)](Question_41_50/README.md) | [](Question_41-50/answers/answer_9.py) | [](Question_41-50/answers_cpp/answer_9.cpp) | | | 50 | [闭运算(Closing Operation)](Question_41_50/README.md) | [](Question_41-50/answers/answer_10.py) | [](Question_41-50/answers_cpp/answer_10.cpp) | | ### [问题51-60](Question_51_60/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | ---- | :------: | | 51 | [形态学梯度(Morphology Gradient)](Question_51_60/README.md) | [](Question_51-60/answers/answer_1.py) | | | | 52 | [顶帽(Top Hat)](Question_51_60/README.md) | [](Question_51-60/answers/answer_2.py) | | | | 53 | [黑帽(Black Hat)](Question_51_60/README.md) | [](Question_51-60/answers/answer_3.py) | | | | 54 | [使用误差平方和算法(Sum of Squared Difference)进行模式匹配(Template Matching)](Question_51_60/README.md) | [](Question_51-60/answers/answer_4.py) | | | | 55 | [使用绝对值差和(Sum of Absolute Differences)进行模式匹配](Question_51_60/README.md) | [](Question_51-60/answers/answer_5.py) | | | | 56 | [使用归一化交叉相关(Normalization Cross Correlation)进行模式匹配](Question_51_60/README.md) | [](Question_51-60/answers/answer_6.py) | | | | 57 | [使用零均值归一化交叉相关(Zero-mean Normalization Cross Correlation)进行模式匹配](Question_51_60/README.md) | [](Question_51-60/answers/answer_7.py) | | | | 58 | [$4-$邻域连通域标记](Question_51_60/README.md) | [](Question_51-60/answers/answer_8.py) | | | | 59 | [$8-$邻域连通域标记](Question_51_60/README.md) | [](Question_51-60/answers/answer_9.py) | | | | 60 | [透明混合(Alpha Blending)](Question_51_60/README.md) | [](Question_51-60/answers/answer_10.py) | | | ### [问题61-70](Question_61_70/README.md) | 序号 | 内容 | Python | C++ | 翻译一校 | | :--: | :----------------------------------------------------------: | ---------------------------------------- | ---- | :------: | | 61 | [$4-$连接数](Question_61_70/README.md) | [](Question_61-70/answers/answer_1.py) | | | | 62 | [$8-$连接数](Question_61_70/README.md) | [](Question_61-70/answers/answer_2.py) | | | | 63 | [细化处理](Question_61_70/README.md) | [](Question_61-70/answers/answer_3.py) | | | | *** | [Hilditch 细化算法](Question_61_70/README.md) | | | | | 65 | [Zhang-Suen 细化算法](Question_61_70/README.md) | [](Question_61-70/answers/answer_5.py) | | | | 66 | [方向梯度直方图(HOG)第一步:梯度幅值梯度方向](Question_61_70/README.md) | [](Question_61-70/answers/answer_6.py) | | | | 67 | [方向梯度直方图(HOG)第二步:梯度直方图](Question_61_70/README.md) | [](Question_61-70/answers/answer_7.py) | | | | 68 | [方向梯度直方图(HOG)第三步:直方图归一化](Question_61_70/README.md) | [](Question_61-70/answers/answer_8.py) | | | | 69 | [方向梯度直方图(HOG)第四步:可视化特征量](Question_61_70/README.md) | [](Question_61-70/answers/answer_9.py) | | | | 70 | [色彩追踪(Color Tracking)](Question_61_70/README.md) | [](Question_61-70/answers/answer_10.py) | | | ### [问题71-80](Question_71_80/README.md) | 序号 | 内容 | Python ... ...

近期下载者

相关文件


收藏者