python【学习笔记】-skimage图像RGB分割

python代码:

from skimage import data, io
from matplotlib import pyplot as plt
import numpy as np
import math
image = io.imread('hua.png')
r = image[:, :, 0]
g = image[:, :, 1]
b = image[:, :, 2]

r1 = r[128:255, 85:169]
r1_u = np.mean(r1)
r1_d = 0.0
for i in range(r1.shape[0]):
    for j in range(r1.shape[1]):
        r1_d = r1_d+(r1[i, j]-r1_u)*(r1[i, j]-r1_u)
r1_d = math.sqrt(r1_d/r1.shape[0]/r1.shape[1])

r2 = np.zeros(r.shape, dtype='uint8')
for i in range(r.shape[0]):
    for j in range(r.shape[1]):
        if r[i, j] >= (r1_u - 1.25 * r1_d) and r[i, j] <= (r1_u +1.25 * r1_d):
            r2[i, j] = 1

image2 = np.zeros(image.shape, dtype='uint8')
for i in range(r.shape[0]):
    for j in range(r.shape[1]):
        if r2[i, j] == 1:
            image2[i, j, :] = image[i, j, :]
plt.figure()
plt.axis('off')
plt.imshow(image)  # 显示原始 RGB 图像
plt.figure()
plt.axis('off')
plt.imshow(r, cmap='gray')  # 显示 R 分量图像
plt.figure()
plt.axis('off')
plt.imshow(g, cmap='gray')  # 显示 G 分量图像
plt.show()

显示结果:

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 22:54:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 22:54:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 22:54:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 22:54:01       20 阅读

热门阅读

  1. 30+程序员应该如何养生+养身体

    2023-12-07 22:54:01       38 阅读
  2. 【Erlang进阶学习】3、列表推导

    2023-12-07 22:54:01       40 阅读
  3. AIGC: 关于ChatGPT中的API调用模型

    2023-12-07 22:54:01       30 阅读
  4. arm linux 平台 打开摄像头矫正

    2023-12-07 22:54:01       36 阅读
  5. openGL 三:矩阵和向量

    2023-12-07 22:54:01       33 阅读
  6. C++标准库+Windows API+UBUNTU API

    2023-12-07 22:54:01       36 阅读
  7. sass 学习笔记

    2023-12-07 22:54:01       32 阅读
  8. [Ubuntu 20.04] 使用Netplan配置网络静态IP

    2023-12-07 22:54:01       37 阅读
  9. ubuntu离线安装包

    2023-12-07 22:54:01       29 阅读
  10. C++ 多线程 atomic

    2023-12-07 22:54:01       46 阅读
  11. 算法通关村——用4kb寻找重复元素

    2023-12-07 22:54:01       39 阅读