Python 板


LINE

想问一下各位我现在生成一个变形的网格,想将图片按照网格的形式用cv2.remap 把图片 映射在网格上,产生摺痕这样。类似附图一样的效果。 但是remap出来图片的被压缩成一个很小的size并且颠倒,我resize 过尺寸,还是一样。我 想做成像最後一张图的效果。想请问要怎麽做到? 谢谢各位。 import numpy as np import matplotlib.pyplot as plt import cv2 inputs = cv2.imread("26KN4.jpg") nh, nw = inputs.shape[0], inputs.shape[1] inputs = cv2.resize(inputs, dsize=(nh, nw), interpolation=cv2.INTER_AREA) mr = nh mc = nw print(mr) print(mc) xx = np.arange(mr-1, -1, -1) yy = np.arange(0, mc, 1) [Y, X] = np.meshgrid(xx, yy) ms = np.transpose(np.asarray([X.flatten('F'), Y.flatten('F')]), (1,0)) perturbed_mesh = ms nv = np.random.randint(20) - 1 for k in range(nv): #Choosing one vertex randomly vidx = np.random.randint(np.shape(ms)[0]) vtex = ms[vidx, :] #Vector between all vertices and the selected one xv = perturbed_mesh - vtex #Random movement mv = (np.random.rand(1,2) - 0.5)*20 hxv = np.zeros((np.shape(xv)[0], np.shape(xv)[1] +1) ) hxv[:, :-1] = xv hmv = np.tile(np.append(mv, 0), (np.shape(xv)[0],1)) d = np.cross(hxv, hmv) d = np.absolute(d[:, 2]) d = d / (np.linalg.norm(mv, ord=2)) wt = d curve_type = np.random.rand(1) if curve_type > 0.3: alpha = np.random.rand(1) * 50 + 50 wt = alpha / (wt + alpha) else: alpha = np.random.rand(1) + 1 wt = 1 - (wt / 100 )**alpha msmv = mv * np.expand_dims(wt, axis=1) perturbed_mesh = perturbed_mesh + msmv plt.scatter(perturbed_mesh[:, 0], perturbed_mesh[:, 1], c=np.arange(0, mr*mc)) plt.show() https://ibb.co/FY6MPmd # dh=500 # dw=500 # img = cv2.copyMakeBorder(inputs, dh, dh, dw, dw, borderType=cv2.BORDER_ CONSTANT, value=(0,0,0)) xs, ys = perturbed_mesh[:, 0], perturbed_mesh[:, 1] xs = xs.reshape(nh, nw).astype(np.float32) ys = ys.reshape(nh, nw).astype(np.float32) dst = cv2.remap(img, xs, ys, cv2.INTER_CUBIC) image = cv2.resize(dst, (1024,1024),interpolation = cv2.INTER_AREA) plt.imshow(image) https://ibb.co/8c1PFMx https://i.stack.imgur.com/tSBWi.png
--



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.118.102.68 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1670579044.A.C09.html
1F:→ tzouandy2818: 不知道是不是我的问题 看不懂你到底想问什麽12/10 02:21
2F:推 jasonfghx: Good question12/10 08:31
※ 编辑: kyly157 (111.250.190.58 台湾), 12/10/2022 11:02:26 ※ 编辑: kyly157 (111.250.190.58 台湾), 12/10/2022 11:06:38 ※ 编辑: kyly157 (111.250.190.58 台湾), 12/10/2022 11:07:20







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP