计算机视觉: 实验二

代码地址:Github

实验要求

•实现图像直方图绘制、图像灰度反转和直方图均衡化。如果能同时实现分段线性变换、对数变换、伽马变换等功能更好。

要求:编写python实现代码,提交py文件、测试图像,演示视频。

image-20230308221220910

实验过程

实验架构与环境

  • Vue2 + fetch + node.js
  • flask + cv2 + matplotlab

项目启动

  • 前端启动
cd 代码/cv_vue
npm install
npm run serve
  • 后端启动
cd 代码/flask
python main.py

项目效果

基本界面

image-20230308222530985

灰度反转

image-20230308222636729

直方图

image-20230308222652918

直方图均衡化

image-20230308222711893

分段线性变换

$$
D t=\left{\begin{array}{ll}
\frac{c}{a} D & , 0 \leq D<a \
\frac{d-c}{b-a}[D-a]+c & , a \leq D \leq b \
\frac{f-d}{e-b}[D-b]+d & , b<D \leq e
\end{array}\right.
$$

  • 包含四个参数 $(r_1,s_1)(r_2,s_2)$ 代表了 $a,b,c,d$,这里不妨取如下值
image-20230308222822696

image-20230308222842183

对数变换

$$
D_t=c \cdot \ln (1 + D)
$$

  • 包含一个参数 $c$,这里不妨取如下值
image-20230308223136353

image-20230308223201913

伽马变换

$$
D_t = c \cdot D^v
$$

  • 包含两个参数 $c,v$,这里不妨取如下值
image-20230308223352058

image-20230308223410222