import cv2
from matplotlib import pyplot as plt
%matplotlib inline
input_img = cv2.imread("image.jpg")
plt.figure(figsize=(10,7))
plt.imshow(cv2.cvtColor(input_img, cv2.COLOR_BGR2RGB))
gray_img = cv2.cvtColor(input_img, cv2.COLOR_BGR2GRAY)
plt.figure(figsize=(10,7))
plt.imshow(cv2.cvtColor(gray_img, cv2.COLOR_BGR2RGB))
inv_gray_img = 255 - gray_img
plt.figure(figsize=(10,7))
plt.imshow(cv2.cvtColor(inv_gray_img, cv2.COLOR_BGR2RGB))
![]()
ksize=21 sigma=0 blur_img = cv2.GaussianBlur(inv_gray_img, ksize=(ksize, ksize), sigmaX=sigma, sigmaY=sigma) plt.figure(figsize=(10,7)) plt.imshow(cv2.cvtColor(blur_img, cv2.COLOR_BGR2RGB))
几行代码就搞定了,要比速度的话,那 Python+OpenCV 就没有输过。![]()
sketch_img = cv2.divide(gray_img, 255 - blur_img, scale=256) # 颜色减淡融合 plt.figure(figsize=(15,10)) plt.imshow(cv2.cvtColor(sketch_img, cv2.COLOR_BGR2RGB))
git clone https://github.com/lllyasviel/sketchKeras.git 下载权重文件 mod.h5,放到项目目录下
python keras_to_tensorflow.py --input_model="mod.h5" --output_model="mod.pb" 然后就能用 tensorboard 导入模型
mkdir logs
python3 tensorboard_graph.py 项目下生成 logs 目录就导出了计算图
tensorboard --logdir=logs/ --host=127.0.0.1 我们可以看到就是一个典型的 unet 架构,输入 [3 * 512 * 512 * 1] 不停的下采样到 [3 * 32 * 32 * 512],然后再上采样回来的过程。
from_mat = from_mat.transpose((2, 0, 1))
light_map = np.zeros(from_mat.shape, dtype=np.float)
for channel in range(3):
light_map[channel] = get_light_map_single(from_mat[channel])
light_map = normalize_pic(light_map)
light_map = resize_img_512_3d(light_map)
# 模型推理 (3, 512, 512, 1)
line_mat = mod.predict(light_map, batch_size=1)
# 去除 batch 维度 (512, 512, 3)
line_mat = line_mat.transpose((3, 1, 2, 0))[0]
# 裁剪 (512, 384, 3)
line_mat = line_mat[0:int(new_height), 0:int(new_width), :]
show_active_img_and_save('sketchKeras_colored', line_mat, 'sketchKeras_colored.jpg')
line_mat = np.amax(line_mat, 2)
# 降噪
show_active_img_and_save_denoise_filter2('sketchKeras_enhanced', line_mat, 'sketchKeras_enhanced.jpg')
show_active_img_and_save_denoise_filter('sketchKeras_pured', line_mat, 'sketchKeras_pured.jpg')
show_active_img_and_save_denoise('sketchKeras', line_mat, 'sketchKeras.jpg')
sudo apt-get install libhdf5-dev
pip install h5py
可以看到,用 sketchKeras 转换的线稿笔顺会更清晰些,而 sketchKeras_colored 包含了颜色的要素,这对后续图片上色会有很大帮助。
RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。
随着深度学习的飞速发展,已经创建了完整的神经网络体系结构主机,以解决各种各样的任务和问题。 尽管有无数的神经网络架构,但对于任何深度学习工程师来说,这里有11种必不可少的知识,它们分为四大类:标准网络,递归网络,卷积网络和自动编码器。
为落实教育部《关于加强中小学人工智能教育的通知》及上海市教委《人工智能赋能基础教育高质量发展行动方案(2024-2026年)》,推动人工智能(以下简称“AI”)与教育深度融合,强化师生、教学管理人员及校际合作单位的人工智能规范意识与实践自觉,构建以人为本、安全可控、创新引领的“AI+教育”生态,赋能学生核心素养提升,培养适应新时代的创新型人才,特制定本规范。
这一篇谈一下面部遮挡的情况下,怎么把人脸还原回来。
这篇文档以 SIPEED MaixDuino 的使用为示例说明,并且大部分内容通用于 K210 系列开发板,可供购入 K210 系列顾客参考使用。
这一篇我们介绍一下在树莓派上部署 OpenVINO 神经棒,进一步提升AI的推理速度。
人工智能正在重塑社会生产与生活方式,中小学学生作为智能时代的“原住民”,培育他们的人工智能素养成为中小学教育的重要任务之一。
本文并不花时间去说明 CSI 摄像头的工作原理,主要配合 Jetbot 的安装,以及执行最简单指令去确认您手上的摄像头是否良好可用。
这篇我们先来选用一些必要的硬件设备,其中标明必备的,则是运行系统所要求的,型号规格尽量保持一致,可选的部分可根据实际AI应用选择即可。
本文是《人工智能基础(高中版)》的读书笔记,这本书的配图非常好,把难以理解的概念图形化,所以读后感会引用书中的图片(图片版权归商汤科技所有)。