人工智能视频教程 ai vip技术 人工智能数学基础 爬虫 python机器学习 tensorflow深度学习 20+个企业AI实战项目

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 100|回复: 0

[课堂笔记] 如何区分彩色图片和灰度图片(同样都是3通道的情况)

[复制链接]

1102

主题

1459

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
12024
QQ
发表于 2020-9-23 17:14:32 | 显示全部楼层 |阅读模式


如何区分彩色图片和灰度图片(同样都是3通道的情况)




  1. # -*- coding: utf-8 -*-
  2. __author__ = u'江锦炬 微信:715781570'
  3. __date__ = '2020/9/23 下午4:42'
  4. __product__ = 'PyCharm'
  5. __filename__ = 'dfy_test_true_person_pass_rate'


  6. import os
  7. import cv2
  8. import numpy as np

  9. # 如何区分彩色图片和灰度图片(同样都是3通道的情况)

  10. def is_Gray(chip):
  11.     # chip_gray = cv2.cvtColor(chip,cv2.COLOR_BGR2GRAY)
  12.     r, g, b = cv2.split(chip)
  13.     r = r.astype(np.float32)
  14.     g = g.astype(np.float32)
  15.     b = b.astype(np.float32)
  16.     s_w, s_h = r.shape[:2]
  17.     x = (r + b + g) / 3

  18.     area_s = s_w * s_h
  19.     # x = chip_gray
  20.     r_gray = abs(r - x)
  21.     g_gray = abs(g - x)
  22.     b_gray = abs(b - x)
  23.     r_sum = np.sum(r_gray) / area_s
  24.     g_sum = np.sum(g_gray) / area_s
  25.     b_sum = np.sum(b_gray) / area_s
  26.     gray_degree = (r_sum + g_sum + b_sum) / 3
  27.     if gray_degree < 1.0:
  28.         # 灰度图片
  29.         return True, gray_degree
  30.     else:
  31.         # 彩色图片
  32.         return False, gray_degree



  33. img_path = "/media/jiang/AI_DataSets/DataSets/nir_rgb_original_data/sw-hdr-sm/rgb_sw_hdr_sm_20200607/001X29/1.jpg"
  34. img_path1 = "/media/jiang/AI_DataSets/DataSets/nir_rgb_original_data/sw-hdr-sm/rgb_sw_hdr_sm_20200607/001X29/2.jpg"

  35. img = cv2.imread(img_path)

  36. print(img.shape)

  37. cv2.imshow("ori", img)
  38. cv2.waitKey(0)


  39. ret, value = is_Gray(img)
  40. # 彩色图片 结果: False 8.359733153292181
  41. # 灰度图片 结果: True 0.03208879886831276
  42. print("结果:", ret, value)



复制代码




让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2020-10-30 03:57 , Processed in 0.197021 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表