擅长:python、mysql、java
<p>要读取特定扩展名的所有图像,例如“*.png”,可以使用<code>cv::glob</code>函数</p>
<pre><code>void loadImages(const std::string& ext, const std::string& path, std::vector<cv::Mat>& imgs, const int& mode)
{
std::vector<cv::String> strBuffer;
cv::glob(cv::String{path} + cv::String{"/*."} + cv::String{ext}, strBuffer, false);
for (auto& it : strBuffer)
{
imgs.push_back(cv::imread(it, mode));
}
}
std::vector<cv::Mat> imgs;
loadImages("*.png", "/home/img", imgs, cv::IMREAD_COLOR);
</code></pre>
<p>然后调整缓冲区中每个图像的大小</p>
^{pr2}$
<p>重写为python应该很容易,因为几乎所有函数/数据类型在python中都有等价的。在</p>
<pre><code>filenames = glob("/home/img/*.png").sort()
images = [cv2.imread(img) for img in filenames]
for img in images:
cv2.resize(img, (WIDTH, HEIGHT))
</code></pre>
<p>代码被分为多个部分,而不是一个行程序,因为它更具可读性,至少对我来说是这样。在</p>