# -*- coding: utf-8 -*-
"""
@Time : 2022/8/1 18:53
@Auth : 思绪无限
Bilibili:思绪亦无限
公众号:AI技术研究与分享
@File :main.py
@IDE :PyCharm
功能:
"""
import os
import cv2 # opencv 3.4.2+ required
import numpy as np
proto = './models/models_colorization_deploy_v2.prototxt'
weights = './models/colorization_release_v2.caffemodel'
pts_in_hull = np.load('./models/pts_in_hull.npy')
pts_in_hull = pts_in_hull.transpose().reshape(2, 313, 1, 1).astype(np.float32)
# load model
net = cv2.dnn.readNetFromCaffe(proto, weights)
# populate cluster centers as 1x1 convolution kernel
net.getLayer(net.getLayerId('class8_ab')).blobs = [pts_in_hull]
net.getLayer(net.getLayerId('conv8_313_rh')).blobs = [np.full((1, 313), 2.606, np.float32)]
# 读取图片
img_path = 'img/g5.png'
img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
img_input = img.copy()
# BGR转为RGB
img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) # 转换通道
img_rgb = img.copy()
# 归一化输入图像
img_rgb = (img_rgb / 255.).astype(np.float32)
# convert RGB to LAB
img_lab = cv2.cvtColor(img_rgb, cv2.COLOR_RGB2Lab) #
# only L channel to be used
img_l = img_lab[:, :, 0]
input_img = cv2.resize(img_l, (224, 224))
input_img -= 50 # subtract 50 for mean-centering
# 运行推理模型
net.setInput(cv2.dnn.blobFromImage(input_img)) # 输入网络
pred = net.forward()[0, :, :, :].transpose((1, 2, 0)) # 运行推理预测
# 转换为原始尺寸
pred_resize = cv2.resize(pred, (img.shape[1], img.shape[0]))
pred_lab = np.concatenate([img_l[:, :, np.newaxis], pred_resize], axis=2)
# LAB转RGB
pred_rgb = cv2.cvtColor(pred_lab, cv2.COLOR_Lab2RGB)
pred_rgb = np.clip(pred_rgb, 0, 1) * 255
pred_rgb = pred_rgb.astype(np.uint8)
# 保存结果图片
filename, ext = os.path.splitext(img_path)
input_filename = '%s_input%s' % (filename, ext)
output_filename = '%s_output%s' % (filename, ext)
pred_rgb_output = cv2.cvtColor(pred_rgb, cv2.COLOR_RGB2BGR)
cv2.imwrite(input_filename, img_input)
cv2.imwrite(output_filename, np.concatenate([img, pred_rgb_output], axis=1))
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ENetColorizer.zip (35个子文件)
ENetColorizer
test.jpg 353KB
main.py 2KB
.idea
ENetColorizer.iml 405B
workspace.xml 4KB
misc.xml 188B
inspectionProfiles
Project_Default.xml 8KB
profiles_settings.xml 174B
modules.xml 285B
.gitignore 184B
img
g3_output.png 1.81MB
g4.png 766KB
g3.jpeg 68KB
g4.webp 38KB
g2.png 371KB
g2_input.png 189KB
g1_input.jpeg 13KB
g1.jpeg 6KB
g2_output.png 1.01MB
g5.png 1.04MB
bw_colorization_opencv_arch.png 41KB
g5_input.png 533KB
g5.jpg 945KB
g5.webp 50KB
g2.jpeg 51KB
g4_output.png 1.98MB
g4_input.png 394KB
g1_output.jpeg 35KB
g5_output.png 2.78MB
g4.jpg 560KB
g3.png 677KB
bw_colorization_opencv_arch.webp 23KB
g3_input.png 348KB
models
models_colorization_deploy_v2.prototxt 10KB
colorization_release_v2.caffemodel 122.97MB
pts_in_hull.npy 5KB
共 35 条
- 1
资源评论
思绪无限
- 粉丝: 6w+
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高性能量化工具 hikyuu 2.0.3 python3.9 ubuntu 安装包
- Cyclone Version 9.51
- 高性能量化回测工具 hikyuu 2.0.3 python 3.12 windows 安装包
- 省级城乡居民基本养老保险情况数据集(2010-2022年).xlsx
- 舞队填写版.cpp
- 基于BP神经网络的多输入单输出回归预测.zip
- 高性能量化回测工具 hikyuu 2.0.3 python 3.9 windows 安装包
- 省级城镇职工基本养老保险情况2000-2022年.xlsx
- 高性能量化回测工具 hikyuu 2.0.3 python 3.10 windows 安装包
- 算法部署-使用OpenVINO+C#部署PaddleOCR字符识别算法-项目源码-优质项目实战.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功