100道图像处理算法题(适合入门,快速熟悉算法)(6-10)

针对图像处理初学者,本文提供了减色处理、平均池化、最大池化、高斯滤波和中值滤波的介绍及实现。通过这些问题的学习,可以快速掌握基本的图像处理算法。文章包括每个问题的详细描述、公式和相关链接。
摘要由CSDN通过智能技术生成

想快速入门图像处理的小伙伴们!跟着步伐我们一起闯关吧!一定会收获满满哦!

为图像处理初学者设计的 100 个问题。这里感谢@gzr2017的翻译,然后我也将随作者的脚步逐一学习实现100道算法题,大家可以一起学习哦,加油!坚持!持续更新中哦!!!

问题6-10:

  • 问题六:减色处理
  • 问题七:平均池化(Average Pooling)
  • 问题八:最大池化(Max Pooloing)
  • 问题九:高斯滤波(Gaussian Filter)
  • 问题十:中值滤波(Median filter)

代码实现:

  • 问题六:减色处理
    我们将图像的值由 25 6 3 256^3 2563压缩至 4 3 4^3 43,即将 RGB \text{RGB} RGB的值只取 32 , 96 , 160 , 224 {32, 96, 160, 224} 32,96,160,224。这被称作色彩量化。色彩的值按照下面的方式定义: val = { 32 ( 0 ≤ var < 64 ) 96 ( 64 ≤ var < 128 ) 160 ( 128 ≤ var < 192 ) 224 ( 192 ≤ var < 256 ) \text{val}= \begin{cases} 32& (0 \leq \text{var} < 64)\\ 96& (64\leq \text{var}<128)\\ 160&(128\leq \text{var}<192)\\ 224&(192\leq \text{var}<256) \end{cases} val=3296160224(0var<64)(64var<128)(128var<192)(192var<256)
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
//#include <math.h>

using namespace cv;

Mat decrease_color(Mat img)
{
   
	int height = img.rows;
	int width = img.cols;

	Mat out = Mat::zeros(height, width, CV_8UC3);

	for (int y = 0; y < height; y++)
	{
   
		for (int x = 0; x < width; x++)
		{
   
			for (size_t i = 0; i < img.channels(); i++)
			{
   
				out.at<Vec3b>(y, x)[i] = ((img.at<Vec3b>(y, x)[i] / 64) * 64 + 32);
			}
		}
	}
	return out;
}
int main(int argc, const char* argv[])
{
   
	Mat img = imread("D:/文件/lenna.png");
	Mat out = decrease_color(img);

	imshow("img", img);
	imshow("out", out);

	waitKey(0);
	destroyAllWindows();
	return 0;
}

输入:

输出:

  • 问题七:平均池化(Average Pooling)
    将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的平均值。
    我们将这种把图片使用均等大小网格分割,并求网格内代表值的操作称为池化(Pooling)。
    池化操作是**卷积神经网络(Convolutional Neural Network)**中重要的图像处理方式。平均池化按照下式定义: v = 1 ∣ R ∣   ∑ i = 1 R   v i v=\frac{1}{|R|}\ \sum\limits_{i=1}^R\ v_i v=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值