栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【OpenCV】灰度算法[API与源码实现]

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【OpenCV】灰度算法[API与源码实现]

【OpenCV】灰度算法[API与源码实现]
          • 导读
  • API调用
    • API调用法1 ----> imread 传参
    • API调用法2 ----> cvtColor 函数
  • 源码实现
    • 源码实现法1 ----> 均值法
    • 源码实现法2 ----> 心理学公式
  • 算法优化

导读
  1. API调用(2个方法)
  2. 源码实现法(2个方法)

API调用 API调用法1 ----> imread 传参
import cv2
import numpy as np


img = cv2.imread("../01_Img/01.jpg", 0)
cv2.imshow("", img)
cv2.waitKey(0)
API调用法2 ----> cvtColor 函数
import cv2
import numpy as np

# 方法2 ----> cvtColor 函数
img = cv2.imread("../01_Img/01.jpg", 1)
dst = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.imshow("", dst)
cv2.waitKey(0)

源码实现 源码实现法1 ----> 均值法
import cv2
import numpy as np

img = cv2.imread("../01_Img/01.jpg", 1)
imgInfo = img.shape
dst = np.zeros((imgInfo[0], imgInfo[1], imgInfo[2]), np.uint8)

for i in range(0, imgInfo[0]):
    for j in range(0, imgInfo[1]):
        (b, g, r) = img[i, j]
        gray = (int(b)+int(g)+int(r))/3
        dst[i, j] = (gray, gray, gray)

cv2.imshow("", dst)
cv2.waitKey(0)
源码实现法2 ----> 心理学公式
import cv2
import numpy as np
# 心理学法:gray = r*0.299+g*0.587+b*0.114

img = cv2.imread("../01_Img/01.jpg", 1)
imgInfo = img.shape
dst = np.zeros((imgInfo[0], imgInfo[1], imgInfo[2]), np.uint8)

for i in range(0, imgInfo[0]):
    for j in range(0, imgInfo[1]):
        (b, g, r) = img[i, j]
        gray = r * 0.299 + g * 0.587 + b * 0.114
        dst[i, j] = (gray, gray, gray)

cv2.imshow("", dst)
cv2.waitKey(0)

算法优化
  1. 整型 速度快于 浮点型
  2. ±运算 速度快于 */运算
import cv2
import numpy as np


img = cv2.imread("../01_Img/01.jpg", 1)
imgInfo = img.shape
dst = np.zeros((imgInfo[0], imgInfo[1], imgInfo[2]), np.uint8)

for i in range(0, imgInfo[0]):
    for j in range(0, imgInfo[1]):
        (b, g, r) = img[i, j]
        # gray = (r * 1 + g * 2 + b * 1)/4
        gray = (r + (g<<1) + b) >> 2
        dst[i, j] = (gray, gray, gray)

cv2.imshow("", dst)
cv2.waitKey(0)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948645.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号