当前位置:

首页 > 看相

测夫妻相的软件(测夫妻相)

发布时间:2024-04-23 11:27:26作者:心软是病来源:网友上传

测夫妻相的软件(测夫妻相)

本文目录一览:

有没有夫妻相?刷一下脸就知道!

本文分享自华为云社区《情人节季,快来上传你的女神照片,测试下你们的夫妻相-云社区-华为云》,作者: HWCloudAI 。

有没有夫妻相?刷一下脸就知道!

“夫妻相”是指两人之间的相貌让人感觉是一对夫妻,还有一种说法是指夫妻之间面容相似。

有研究认为:两个人在一起生活得久了,表情动作彼此模仿,会越来越像。其实是因为大多数人都珍爱自己,看到跟自己相像的人格外顺眼,从一开头就是拿自己当范本选择另一半。“夫妻相”的大抵意思是因为常常接触,心灵相倾,习惯趋同,相同的作息、肠道菌落交换等相互影响,以致到了面容相像。夫妻相是面容相像,心灵相倾,习惯趋同,相互影响。

世界各地都有类似的说法:人们容易被面容与自己有共同之处的人吸引。一些进化生物学家认为,这是因为我们潜意识里觉得,与自己长相相似的人更值得信任。然而也有研究表明,当动物处于压力下,它们更倾向与同伴中遗传距离较远的个体交配。

尽管上述描述在当今心理学、生物学方面有争议,但是大多数人还是比较认同“夫妻相”这一说法的。(以上“夫妻相”解释来自百度百科)

基于此,本文利用ssim算法,帮你快速打造一个“刷脸测试夫妻相”Demo出来。

夫妻相似度 ssim算法原理

SSIM(structural similarity)是一种用来衡量图片相似度的指标,也可用来判断图片压缩后的质量。

基本原理:

其中有几个需要注意的点:

C1、C2、C3为常数,避免分母接近于0时造成的不稳定性。

SSIM函数S具有对称性、有界性(不超过1)和最大值唯一性(当且仅当x=y时,S=1,表示两幅图一样)。

上述S函数为C3=C2/2的简化形式。

(更多SSIM介绍可自行搜索论文《Image Quality Assessment: From Error Visibility to Structural Similarity》)

注意事项:

本案例使用框架**:** PyTorch-1.8本案例使用硬件规格**:** CPU: 2核 4GB本案例的AI Gallery链接 上传你的女神照片,测试下你们的夫妻相步骤一:下载需要的海报文件和字体

import osimport os.path as ospimport moxing as moxparent = osp.join(os.getcwd(),'Valentine')if not os.path.exists(parent): mox.filepy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/Valentine',parent) if os.path.exists(parent): print('Download success') else: raise Exception('Download Failed')else: print("Model Package already exists!")

INFO:root:Using MoXing-v2.1.0.5d9c87c8-5d9c87c8INFO:root:Using OBS-Python-SDK-3.20.9.1Download success步骤二:使用ssim算法计算夫妻相

import numpy as npimport cv2import randomimport matplotlib.pyplot as pltfrom matplotlib import font_managerimport warningsfrom scipy.signal import convolve2d from PIL import Image,ImageDraw,ImageFontwarnings.filterwarnings('ignore')

def matlab_style_gauss2D(shape=(3,3),sigma=0.5): """ 2D gaussian mask - should give the same result as MATLAB's fspecial('gaussian',[shape],[sigma]) """ m,n = [(ss-1.)/2. for ss in shape] y,x = np.ogrid[-m:m+1,-n:n+1] h = np.exp( -(x*x + y*y) / (2.*sigma*sigma) ) h[ h < np.finfo(h.dtype).eps*h.max() ] = 0 sumh = h.sum() if sumh != 0: h /= sumh return hdef filter2(x, kernel, mode='same'): return convolve2d(x, np.rot90(kernel, 2), mode=mode)def compute_ssim(im1, im2, k1=0.01, k2=0.04, win_size=11, L=255): if not im1.shape == im2.shape: raise ValueError("Input Imagees must have the same dimensions") if len(im1.shape) > 2: raise ValueError("Please input the images with 1 channel") M, N = im1.shape C1 = (k1*L)**2 C2 = (k2*L)**2 window = matlab_style_gauss2D(shape=(win_size,win_size), sigma=0.5) window = window/np.sum(np.sum(window)) if im1.dtype == np.uint8: im1 = np.double(im1) if im2.dtype == np.uint8: im2 = np.double(im2) mu1 = filter2(im1, window, 'valid') mu2 = filter2(im2, window, 'valid') mu1_sq = mu1 * mu1 mu2_sq = mu2 * mu2 mu1_mu2 = mu1 * mu2 sigma1_sq = filter2(im1*im1, window, 'valid') - mu1_sq sigma2_sq = filter2(im2*im2, window, 'valid') - mu2_sq sigmal2 = filter2(im1*im2, window, 'valid') - mu1_mu2 ssim_map = ((2*mu1_mu2+C1) * (2*sigmal2+C2)) / ((mu1_sq+mu2_sq+C1) * (sigma1_sq+sigma2_sq+C2)) return npan(npan(ssim_map))def img_show(similarity, img1, img2, name1, name2): # similarity = random.uniform(60,100) zt = "./Valentine/方正兰亭准黑_GBK.ttf" my_font = font_manager.FontProperties(fname = zt,size =20 ) img1 = cv2.resize(img1, (520, 520)) img2 = cv2.resize(img2, (520, 520)) imgs = np.hstack([img1, img2]) imgs2 = imgs[:,:, ::-1] plt.axis('off') plt.title('{0} VS {1} \n CP指数: {2}%'.format(name1, name2, round(similarity, 2)), fontproperties=my_font) plt.imshow(imgs2) path = "a.jpg" cv2.imwrite(path, imgs)加入人脸检测

def getFaces(gray): cascPath = "/home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml" faceCascade = cv2.CascadeClassifier(cascPath) im1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) # Detect faces faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, flags=cv2.CASCADE_SCALE_IMAGE ) return faces步骤三:修改预置的视频和图片

在Valentine文件夹下中,有一个预置的1.png和2.png图片,大家可以将里面的图片替换成自己的,图片的名称不建议修改,如果修改成其他的名称,后面的路径也要相应的修改,上传的图片不要太大,尽量使用正脸的图片。

if __name__ == '__main__': name1 = input('请输入图1照片姓名: \n') name2 = input('请输入图2照片姓名: \n') img1_path = 'Valentine/1.png' img2_path = 'Valentine/2.png' img1 = cv2.imread(img1_path) img2 = cv2.imread(img2_path) im1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) im2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) im1_faces = getFaces(im1) im2_faces = getFaces(im2) if len(im1_faces) !=1 or len(im2_faces)!= 1: raise ValueError("输入图片需要包含一个人脸") im1 = cv2.resize(im1, (520,520)) im2 = cv2.resize(im2, (520,520)) similarity = compute_ssim(im1, im2)*100 if similarity == 100: raise ValueError("图片重复! 请重新上传图片") img_show(similarity, img1, img2, name1, name2)

请输入图1照片姓名: 王强请输入图2照片姓名: 李欣

image = Image.open("a.jpg")image = image.resize((498,278))步骤四:打印输出海报

import osfrom PIL import Image,ImageDraw,ImageFont,ImageFilterfrom PIL import ImageFileImageFile.LOAD_TRUNCATED_IMAGES = True

#@title 请在下面填写创作者 : def gen_poster(img,txt1,txt2,path): font1 = ImageFont.truetype(zt,42) font2 = ImageFont.truetype(zt,24) img_draw = ImageDraw.Draw(img) img_draw.text((197,629), txt1, font=font1,fill='#961900') img_draw.text((152,689), txt2, font=font2, fill='#252b3a') img.filter(ImageFilter.BLUR) img.save(path)template_img = "./Valentine/ValentinPoster.png" zt = "./Valentine/方正兰亭准黑_GBK.ttf"temp_image = Image.open(template_img) temp_image.paste(image ,(40,266))title_char = str(round(similarity,1)) + "%"author_char = "王强" #@param {type:"string"}savepath = 'ValentinPoster.png' # 海报图片路径gen_poster(temp_image,title_char,author_char,savepath)Image.open(savepath) # 显示图片

点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

#华为云开发者联盟#

有没有夫妻相?刷一下脸就知道!

本文分享自华为云社区《情人节季,快来上传你的女神照片,测试下你们的夫妻相-云社区-华为云》,作者: HWCloudAI 。

有没有夫妻相?刷一下脸就知道!

“夫妻相”是指两人之间的相貌让人感觉是一对夫妻,还有一种说法是指夫妻之间面容相似。

有研究认为:两个人在一起生活得久了,表情动作彼此模仿,会越来越像。其实是因为大多数人都珍爱自己,看到跟自己相像的人格外顺眼,从一开头就是拿自己当范本选择另一半。“夫妻相”的大抵意思是因为常常接触,心灵相倾,习惯趋同,相同的作息、肠道菌落交换等相互影响,以致到了面容相像。夫妻相是面容相像,心灵相倾,习惯趋同,相互影响。

世界各地都有类似的说法:人们容易被面容与自己有共同之处的人吸引。一些进化生物学家认为,这是因为我们潜意识里觉得,与自己长相相似的人更值得信任。然而也有研究表明,当动物处于压力下,它们更倾向与同伴中遗传距离较远的个体交配。

尽管上述描述在当今心理学、生物学方面有争议,但是大多数人还是比较认同“夫妻相”这一说法的。(以上“夫妻相”解释来自百度百科)

基于此,本文利用ssim算法,帮你快速打造一个“刷脸测试夫妻相”Demo出来。

夫妻相似度 ssim算法原理

SSIM(structural similarity)是一种用来衡量图片相似度的指标,也可用来判断图片压缩后的质量。

基本原理:

其中有几个需要注意的点:

C1、C2、C3为常数,避免分母接近于0时造成的不稳定性。

SSIM函数S具有对称性、有界性(不超过1)和最大值唯一性(当且仅当x=y时,S=1,表示两幅图一样)。

上述S函数为C3=C2/2的简化形式。

(更多SSIM介绍可自行搜索论文《Image Quality Assessment: From Error Visibility to Structural Similarity》)

注意事项:

本案例使用框架**:** PyTorch-1.8本案例使用硬件规格**:** CPU: 2核 4GB本案例的AI Gallery链接 上传你的女神照片,测试下你们的夫妻相步骤一:下载需要的海报文件和字体

import osimport os.path as ospimport moxing as moxparent = osp.join(os.getcwd(),'Valentine')if not os.path.exists(parent): mox.filepy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/Valentine',parent) if os.path.exists(parent): print('Download success') else: raise Exception('Download Failed')else: print("Model Package already exists!")

INFO:root:Using MoXing-v2.1.0.5d9c87c8-5d9c87c8INFO:root:Using OBS-Python-SDK-3.20.9.1Download success步骤二:使用ssim算法计算夫妻相

import numpy as npimport cv2import randomimport matplotlib.pyplot as pltfrom matplotlib import font_managerimport warningsfrom scipy.signal import convolve2d from PIL import Image,ImageDraw,ImageFontwarnings.filterwarnings('ignore')

def matlab_style_gauss2D(shape=(3,3),sigma=0.5): """ 2D gaussian mask - should give the same result as MATLAB's fspecial('gaussian',[shape],[sigma]) """ m,n = [(ss-1.)/2. for ss in shape] y,x = np.ogrid[-m:m+1,-n:n+1] h = np.exp( -(x*x + y*y) / (2.*sigma*sigma) ) h[ h < np.finfo(h.dtype).eps*h.max() ] = 0 sumh = h.sum() if sumh != 0: h /= sumh return hdef filter2(x, kernel, mode='same'): return convolve2d(x, np.rot90(kernel, 2), mode=mode)def compute_ssim(im1, im2, k1=0.01, k2=0.04, win_size=11, L=255): if not im1.shape == im2.shape: raise ValueError("Input Imagees must have the same dimensions") if len(im1.shape) > 2: raise ValueError("Please input the images with 1 channel") M, N = im1.shape C1 = (k1*L)**2 C2 = (k2*L)**2 window = matlab_style_gauss2D(shape=(win_size,win_size), sigma=0.5) window = window/np.sum(np.sum(window)) if im1.dtype == np.uint8: im1 = np.double(im1) if im2.dtype == np.uint8: im2 = np.double(im2) mu1 = filter2(im1, window, 'valid') mu2 = filter2(im2, window, 'valid') mu1_sq = mu1 * mu1 mu2_sq = mu2 * mu2 mu1_mu2 = mu1 * mu2 sigma1_sq = filter2(im1*im1, window, 'valid') - mu1_sq sigma2_sq = filter2(im2*im2, window, 'valid') - mu2_sq sigmal2 = filter2(im1*im2, window, 'valid') - mu1_mu2 ssim_map = ((2*mu1_mu2+C1) * (2*sigmal2+C2)) / ((mu1_sq+mu2_sq+C1) * (sigma1_sq+sigma2_sq+C2)) return npan(npan(ssim_map))def img_show(similarity, img1, img2, name1, name2): # similarity = random.uniform(60,100) zt = "./Valentine/方正兰亭准黑_GBK.ttf" my_font = font_manager.FontProperties(fname = zt,size =20 ) img1 = cv2.resize(img1, (520, 520)) img2 = cv2.resize(img2, (520, 520)) imgs = np.hstack([img1, img2]) imgs2 = imgs[:,:, ::-1] plt.axis('off') plt.title('{0} VS {1} \n CP指数: {2}%'.format(name1, name2, round(similarity, 2)), fontproperties=my_font) plt.imshow(imgs2) path = "a.jpg" cv2.imwrite(path, imgs)加入人脸检测

def getFaces(gray): cascPath = "/home/ma-user/anaconda3/envs/PyTorch-1.8/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml" faceCascade = cv2.CascadeClassifier(cascPath) im1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) # Detect faces faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, flags=cv2.CASCADE_SCALE_IMAGE ) return faces步骤三:修改预置的视频和图片

在Valentine文件夹下中,有一个预置的1.png和2.png图片,大家可以将里面的图片替换成自己的,图片的名称不建议修改,如果修改成其他的名称,后面的路径也要相应的修改,上传的图片不要太大,尽量使用正脸的图片。

if __name__ == '__main__': name1 = input('请输入图1照片姓名: \n') name2 = input('请输入图2照片姓名: \n') img1_path = 'Valentine/1.png' img2_path = 'Valentine/2.png' img1 = cv2.imread(img1_path) img2 = cv2.imread(img2_path) im1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) im2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) im1_faces = getFaces(im1) im2_faces = getFaces(im2) if len(im1_faces) !=1 or len(im2_faces)!= 1: raise ValueError("输入图片需要包含一个人脸") im1 = cv2.resize(im1, (520,520)) im2 = cv2.resize(im2, (520,520)) similarity = compute_ssim(im1, im2)*100 if similarity == 100: raise ValueError("图片重复! 请重新上传图片") img_show(similarity, img1, img2, name1, name2)

请输入图1照片姓名: 王强请输入图2照片姓名: 李欣

image = Image.open("a.jpg")image = image.resize((498,278))步骤四:打印输出海报

import osfrom PIL import Image,ImageDraw,ImageFont,ImageFilterfrom PIL import ImageFileImageFile.LOAD_TRUNCATED_IMAGES = True

#@title 请在下面填写创作者 : def gen_poster(img,txt1,txt2,path): font1 = ImageFont.truetype(zt,42) font2 = ImageFont.truetype(zt,24) img_draw = ImageDraw.Draw(img) img_draw.text((197,629), txt1, font=font1,fill='#961900') img_draw.text((152,689), txt2, font=font2, fill='#252b3a') img.filter(ImageFilter.BLUR) img.save(path)template_img = "./Valentine/ValentinPoster.png" zt = "./Valentine/方正兰亭准黑_GBK.ttf"temp_image = Image.open(template_img) temp_image.paste(image ,(40,266))title_char = str(round(similarity,1)) + "%"author_char = "王强" #@param {type:"string"}savepath = 'ValentinPoster.png' # 海报图片路径gen_poster(temp_image,title_char,author_char,savepath)Image.open(savepath) # 显示图片

点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

#华为云开发者联盟#

抖音美秀趣玩测试夫妻情感的小程序

(此处已添加小程序,请到今日头条客户端查看)

夫妻相处是一个需要互相理解、支持和尊重的过程。以下是一些夫妻相处的方法:

互相尊重:夫妻之间要互相尊重,尊重对方的个性、兴趣和爱好。不要试图改变对方,要学会接受和欣赏对方的不同之处。

沟通交流:夫妻之间要经常进行沟通交流,分享彼此的心情、想法和需求。要学会倾听对方,不要打断对方说话,也要勇于表达自己的想法和感受。

理解支持:夫妻之间要互相理解支持,在对方遇到困难和挫折时,要给予对方鼓励和支持。要学会换位思考,理解对方的处境和感受。

信任信任:夫妻之间要互相信任,给予对方足够的信任和空间。不要怀疑对方的行踪、隐私和交友关系,要相信对方的承诺和忠诚。

分享生活:夫妻之间要分享生活,一起经历生活中的点点滴滴,共同创造美好的回忆。要互相陪伴,一起做喜欢的事情,培养共同的兴趣爱好。

学会包容:夫妻之间要学会包容,接受对方的不完美和缺点。不要过于苛求对方,要学会宽容和谅解。

尊重隐私:夫妻之间要尊重对方的隐私,不要擅自查看对方的私人信息,如手机、社交媒体等。要尊重对方的个人空间和隐私权。

共同理财:夫妻之间要共同理财,建立健康的财务观念和规划。要共同制定家庭预算,管理家庭开支,避免因为财务问题产生矛盾和冲突。

照顾家庭:夫妻之间要共同照顾家庭,共同承担家庭责任和义务。要照顾孩子的成长和教育,共同打理家务事,让家庭成为一个团结和谐的小社会。

经常浪漫:夫妻之间要经常浪漫,表达对彼此的爱和关心。可以给对方送礼物、写情书、共度浪漫时光,让爱情在婚姻中持续发酵,让婚姻更加美满和幸福。

总之,夫妻相处需要双方的共同努力和相互理解。只有在互相尊重、沟通交流、理解支持、信任信任、分享生活、学会包容、尊重隐私、共同理财、照顾家庭和经常浪漫的基础上,夫妻才能建立和谐幸福的家庭关系。

更多精彩
  • 圣杯1逆位(圣杯1)圣杯1逆位(圣杯1)
    塔罗牌测试:抽张牌,看对方最近对这段感情的想法是什么?塔罗牌测试:抽张牌,看对方最近对这段感情的想法是什么?最近你们的感情发展的怎么样,你的另一半对这段感情内心是
    2024-04-23
  • 用蓝起名(蓝字起名配什么字好)用蓝起名(蓝字起名配什么字好)
    用蓝起名,蓝字起名配什么字好。起名是一件非常重要的事情,一个好的名字能给人留下深刻的印象,甚至能影响一个人的一生。而对于起名的时候,我们往往会考虑很多方面,比如名字的意义
    2024-04-23
  • 坐牢的男人最想老婆还是想儿女(坐牢的男人最想老婆还是父母)坐牢的男人最想老婆还是想儿女(坐牢的男人最想老婆还是父母)
    服刑的男人他最想的是爱人还是父母?服刑的男人他最想的是爱人还是父母?这是要根据入狱者故事背景及个人性格等因素界定的。一般监狱里面的男人,最想念的是老婆。老
    2024-04-23
  • 宝宝起名圈(妤字取名的寓意)宝宝起名圈(妤字取名的寓意)
    妤字,是一个富有美好寓意的宝宝取名选项。妤字在古代汉语中有着“美好”、“优秀”、“贵重”等寓意,因此在起名中经常被父母们选作宝宝的名字。妤字的发音优雅动听,读起来非常
    2024-04-23
  • 旺夫的女人面相图片(旺夫的女人面相)旺夫的女人面相图片(旺夫的女人面相)
    教你怎么成为旺夫的的女人,面相算命图解教你怎么成为旺夫的的女人,面相算命图解旺夫的女人面相有哪些要求呢?先天的长相我们已经没有办法改变了,这些长相不旺夫怎
    2024-04-23
  • 宁阳起名(宁阳名字寓意)宁阳起名(宁阳名字寓意)
    宁阳,是一个取名寓意深远的名字。它由两个字组成,宁和阳。这两个字分别代表了宁静、安定和光明、热情的意思。整个名字给人一种积极向上、乐观进取的感觉。下面,我将围绕着宁阳
    2024-04-23
  • 怀孕梦见蚕(梦见孕妇梦见蚕是什么意思)怀孕梦见蚕(梦见孕妇梦见蚕是什么意思)
    怀孕的女性常常会做一些奇怪的梦,而这些梦可能会带来不同的预兆和象征意义。有人说,怀孕梦到蚕,意味着一些重要的事情即将发生。同时,梦见孕妇也可以联系到这个预兆。首先,对于怀
    2024-04-23
  • 素食餐厅起名(素食饭店该如何取名)素食餐厅起名(素食饭店该如何取名)
    素食餐厅是近年来越来越受欢迎的餐饮业态,因为越来越多的人开始关注健康饮食和环保。在选择一个适合的素食餐厅名称时,要考虑品牌的特色、目标市场和个人风格。这篇文章将介绍
    2024-04-23