外贸仿牌网站建设,查找公司信息的网站,成都网站推广外包,猪八戒网站建设导语
哈喽大家好呀#xff01;我是每天疯狂赶代码的木木子吖#xff5e;情人节快乐呀#xff01; 所有文章完整的素材源码都在#x1f447;#x1f447; 粉丝白嫖源码福利#xff0c;请移步至CSDN社区或文末公众hao即可免费。 我们都知道#xff0c;有很多经典的老照片…导语
哈喽大家好呀我是每天疯狂赶代码的木木子吖情人节快乐呀 所有文章完整的素材源码都在 粉丝白嫖源码福利请移步至CSDN社区或文末公众hao即可免费。 我们都知道有很多经典的老照片受限于那个时代的技术只能以黑白的形式传世。尽管黑
白照片别有一番风味但是彩色照片有时候能给人更强的代入感。今天在这里给大家提供一种
给黑白照片上色的方法尽管无法还原当时真实的颜色但确实可以达到后期者的心中所想的
颜色。
当然除了让老照片变成彩色这一用途之外还可以将现时的一些黑白照片自行染上彩色完
全按照自己的想法来上色再和彩色的原图进行对比也不失为一种有趣的玩法。 ——小故事
年前在家中进行过年春节大扫除的时候意外发现了爷爷奶奶年轻时的照片只不过当时的拍
摄技术还不发达出来的相片都是黑白色的。所以我想将它们还原成彩色给他们一个惊喜
我不是敲代码的蛮于是今天在情人节这天偷偷把老照片进行了一个色彩修复这次尝试还别
说亲测了一下效果感觉效果还不错于是今天打算将它们分享给有同样想法的你们。
旧时代的爷爷奶奶、外公外婆的照片都可以进行一个色彩修复哦超惊艳滴~
如果你也想知道黑白照片还原成彩色怎么弄的话就赶紧跟着我的步骤一步步操作起来吧过
程并不繁琐就算你是修图小白也可以轻松驾驭只要你会代码一切皆有可能~厚脸皮.jpg 正文
利用图像处理技术基于数字化存储的玻璃底板图像自动生成尽量非虚化的彩色图像。从原始
图像文件中分割提取三个彩色通道图像将它们对齐并彼此叠加在一起最终形成一张RGB彩
色图像。
一、环境准备 1运行环境 本文用到的环境如下—— Python3、Pycharm社区版第三方模块Opencv、numpy。
部分自带的模块只要安装完 Python就可以直接使用了需要安装 的库的话看教程下 模块安装
pip install 模块名 镜像源安装pip install -i https://pypi.douban.com/simple/模块名 之前有说过安装报错的几种方式跟解决方法不会安装的可以去看下还有很多国内镜像源也有文章的 图片文本素材等—— 都是一些老照片大家可以随便准备一些哈当然需要完整的素材图片跟源码的文末找我即可
二、代码展示
1 fixTif.py tif图像的修复使用的是openCV内置的高斯金字塔
import numpy as np
import cv2 as cvdef img_translate(img, tx, ty):对图像进行平移heigh, width img.shape[:2]m np.float32([[1, 0, tx], [0,1, ty]])res cv.warpAffine(img, m, (width, heigh))return resdef ssd(I1, I2):ssd函数衡量颜色通道是否对齐return np.sum((I1 - I2)*(I1 - I2))def find_xy(img1, g):找到最佳的平移参数并对该颜色通道图片进行平移# 初始化loss ssd(img1, g)img img1u 0v 0# 根据ssd函数寻找最佳的对齐位置for i in range(-20, 30):for j in range(-20, 30):img2 img_translate(img1, i, j)loss1 ssd(img2, g)if loss loss1:loss loss1img img2u iv jprint(u, v)return imgdef readImage(imname):read in the imageim cv.imread(imname)im cv.cvtColor(im, cv.COLOR_BGR2GRAY)return imdef separate(im):separate color channels# compute the height of each part (just 1/3 of total)height np.floor(im.shape[0] / 3.0).astype(np.int)b im[:height]g im[height: 2 * height]r im[2 * height: 3 * height]return b, g, rdef merge(b,g,r):将三个颜色通道进行mergereturn cv.merge((b,g,r))def gaussianPyramid(img):直接使用OpenCV的高斯金字塔进行实现return cv.pyrDown(img)if __name__ __main__:# name of the input file#imname images/train.tifimname images/three_generations.tif#imname images/lady.tif#imname images/emir.tif#imname images/icon.tif#imname images/self_portrait.tif#imname images/village.tif#imname images/turkmen.tifim readImage(imname)print(im.shape)#cv.imshow(source image, im)# 获取平均切割的三个颜色通道b, g, r separate(im)# 对三个颜色通道分别应用高斯金字塔b gaussianPyramid(b)b gaussianPyramid(b)b gaussianPyramid(b)g gaussianPyramid(g)g gaussianPyramid(g)g gaussianPyramid(g)r gaussianPyramid(r)r gaussianPyramid(r)r gaussianPyramid(r)im_out0 merge(b, g, r)cv.imshow(before, im_out0)# 颜色通道平移进行对齐对齐的过程中以绿色作为基准b find_xy(b, g)r find_xy(r, g)# 将平移处理后的三通道merge得到处理后的图片im_out1im_out1 merge(b, g, r)# 将修复后的图片写进磁盘#cv.imwrite(out/after_ imname[7:], im_out1)cv.imshow(after, im_out1)#print(im_out1.shape)cv.waitKey(0)
2运行程序
import numpy as np
import cv2 as cv# name of the input file
imname images/monastery.jpg# read in the image
im cv.imread(imname)
im cv.cvtColor(im, cv.COLOR_BGR2GRAY)
print(im.shape)
cv.imshow(source image, im)# convert to double (might want to do this later on to save memory)
# im img_as_float(im)# compute the height of each part (just 1/3 of total)
height np.floor(im.shape[0] / 3.0).astype(np.int)# separate color channels
b im[:height]
g im[height: 2 * height]
r im[2 * height: 3 * height]# align the images
# functions that might be useful for aligning the images include: np.roll, np.sum
# ag align(g, b)
# ar align(r, b)# create a color image
# im_out cv.merge((ar, ag, b)) # this line should be activated after implementing the align functions
im_out cv.merge((b, g, r)) # this line should be deleted after implementing the align functions# save and display the output image
cv.imwrite(out/out_fname.jpg, im_out)
cv.imshow(output image, im_out)cv.waitKey(0)
三、效果展示
1黑白照片风景上色 2黑白照片色彩修复多图 3黑白照片-奥黛丽赫本彩色 4黑白照片-结婚老照片上色 总结
大家看完以上详细教程学会黑白照片还原成彩色怎么弄了吗如果你们有更简单的方法欢
迎在评论区分享出来我们可以一块探讨一番~
好啦。今天的内容写到这里旧正式结束了哈喜欢的小可爱三连领取免费的源码哦
完整的免费源码领取处找我吖文末公众hao可自行领取滴滴我也可
推荐往期文章——
项目1.1 动漫化人物
【突破次元壁】谁说二次元离我们遥远Python特效火遍全网关键技术原来是它。
项目1.2 颜值打分系统
Python小测试 2021最新男女颜值打分小系统标准出炉看哭无数人...
项目3.0 Opencv换背景图
【Opencv实战】AI换背景朋友结婚没有蓝天白云怎么办幸亏我急中生智。 项目3.1 抠图神器
【爆赞】这款Python小程序自动抠图只需5秒秒杀PS手动抠图
项目3.3 图片处理加/去水印
【一篇解决】Python图片处理 去水印/加水印—这几个方法你一定要学会太神奇了~建议保留
项目3.4 Opencv水果识别小程序
【Opencv实战】识别水果的软件叫什么一款超好用的识别软件分享一秒鉴定真是活~久~见~啊
文章汇总——
汇总合集 Python—2022 |已有文章汇总 | 持续更新直接看这篇就够了
更多内容源码都在✨文章汇总哦欢迎阅读喜欢的文章~