当前位置: 首页 > news >正文

网站怎么做邮箱3d效果图怎么制作用什么软件

网站怎么做邮箱,3d效果图怎么制作用什么软件,设计官网的,wordpress 技术分享主题文章目录 引言inpaint函数的使用方法鼠标事件回调函数cv2.setMouseCallback介绍去水印步骤实现代码 引言 本文主要基于cv2.inpaint函数实现图片的水印去除。 inpaint函数基于图像修复算法#xff0c;通过对缺陷区域周围像素的分析和插值#xff0c;生成合适的像素值来填充缺… 文章目录 引言inpaint函数的使用方法鼠标事件回调函数cv2.setMouseCallback介绍去水印步骤实现代码 引言 本文主要基于cv2.inpaint函数实现图片的水印去除。 inpaint函数基于图像修复算法通过对缺陷区域周围像素的分析和插值生成合适的像素值来填充缺陷区域。这种算法通常用于去除图像中的污点、划痕或其他不需要的对象。 inpaint函数的使用方法 inpaint函数在OpenCV中的原型如下 dst cv2.inpaint(src, mask, dst, inpaintRadius, flags)参数说明 src输入图像即待修复的原始图像。mask掩膜图像用于指定需要修复的区域。在掩膜图像中需要修复的区域像素值为255白色其他区域像素值为0黑色。dst输出图像即修复后的图像。inpaintRadius修复算法中使用的邻域半径。该参数决定了算法在修复每个像素时考虑的周围像素范围。半径越大修复效果可能越平滑但也可能丢失更多的细节。flags算法标志用于指定使用的修复算法。OpenCV提供了两种算法选项cv2.INPAINT_NS和cv2.INPAINT_TELEA。前者是Navier-Stokes流体动力学算法的简化版本后者是Telea算法。 鼠标事件回调函数cv2.setMouseCallback介绍 cv2.setMouseCallback(winname , MouseCallback)是一个对 winname 窗口鼠标状态的监视函数当 winname 窗口上有鼠标动作时即自动调用 MouseCallback 函数相当于这个窗口的一个鼠标中断。在此函数前应该拥有相应的窗口声明函数 cv2.namedWindow(winname)以被 setMouseCallback() 函数做捕获确认操作窗口。 # 导入OpenCV包 import cv2 as cv # 定义全局变量 point (-1,-1) # 编写回调函数 def action(event, x, y, flags, param):global point# 鼠标左键按下if event cv.EVENT_LBUTTONDOWN:#左键按下更新全局变量point (x, y)print(EVENT_LBUTTONDOWN)print(x, , y)# 窗口声明 cv.namedWindow(drawing) # 鼠标事件绑定 cv.setMouseCallback(drawing, action) camera cv.VideoCapture(0) while True:s, img camera.read()# 通过全局变量在制定位置绘制图像cv.circle(img,point,4,(0,0,255),-1)cv.putText(img,f{point},point,cv.FONT_HERSHEY_TRIPLEX,1,(0,0,255),1)cv.imshow(drawing, img)# 按 q 键退出if cv.waitKey(1) 0xFF ord(q):break camera.release() cv.destroyAllWindows()去水印步骤 打开图像或视频通过鼠标涂抹水印区域mask预处理mask转换为单通道并膨胀调用cv2.inpaint函数对水印去进行修复 注对于视频的去水印通过读取第一帧图像获取mask后其余图像帧都可以使用该mask进行操作 实现代码 import cv2 import numpy as npmode False drawing False# 鼠标回调函数 def draw_action(event, x, y, flags, param):global ix, iy, drawing, mode, imgpsize 10print(psize)if event cv2.EVENT_LBUTTONDOWN:drawing Trueix, iy x, yelif event cv2.EVENT_MOUSEMOVE:if drawing True:if mode True:cv2.rectangle(mask, (ix, iy), (x, y), (100, 255, 0), -1)cv2.rectangle(img, (ix, iy), (x, y), (100, 255, 0), -1)else:cv2.circle(mask, (x, y), psize, (100, 255, 0), -1)cv2.circle(img, (x, y), psize, (100, 255, 0), -1)cv2.imshow(frame, img)elif event cv2.EVENT_LBUTTONUP:drawing Falseif mode True:cv2.rectangle(mask, (ix, iy), (x, y), (100, 255, 0), -1)cv2.rectangle(img, (ix, iy), (x, y), (100, 255, 0), -1)else:cv2.circle(mask, (x, y), psize, (100, 255, 0), -1)cv2.circle(img, (x, y), psize, (100, 255, 0), -1)def watermask_remove(img):global mask# 开始操作# 设定要查找的颜色范围lower_green np.array([50, 50, 50])upper_green np.array([255, 255, 255])hsv cv2.cvtColor(mask, cv2.COLOR_BGR2HSV)thresh cv2.inRange(hsv, lower_green, upper_green)scan np.ones((5, 5), np.uint8)cor cv2.dilate(thresh, scan, iterations1)dst cv2.inpaint(img, cor, 3, cv2.INPAINT_TELEA)return dstif __name__ __main__:pmode video # video imagepath demo.pngvieodpath 1.mp4cap cv2.VideoCapture(vieodpath)if pmode video:ret, img cap.read()else:img cv2.imread(path)img_copy np.copy(img)mask np.copy(img)mask[:, :] 0# 通过绘制获取maskcv2.imshow(frame, img)cv2.namedWindow(frame)cv2.setMouseCallback(frame, draw_action)cv2.waitKey(0)# 根据mask去水印no_watermask_frame watermask_remove(img_copy)cv2.imshow(src, img_copy)cv2.imshow(dst, no_watermask_frame)cv2.waitKey(0)cv2.destroyAllWindows()# # 创建视频编写器# fourcc cv2.VideoWriter_fourcc(*mp4v)# # out cv2.VideoWriter(output datetime.now().strftime(%H-%M-%S) .mp4, fourcc, 20.0, (width, height))## if pmode video:# if cap.isOpened():# cap.release()# cap cv2.VideoCapture(vieodpath)# while (cap.isOpened()):# ret, frame cap.read()# if ret:# # 写入输出视频# no_watermask_frame watermask_remove(frame)# # out.write(no_watermask_frame)## # 显示帧# cv2.imshow(frame, no_watermask_frame)# # ## if cv2.waitKey(27) 0xFF ord(s):# # 释放资源## break## cap.release()# # out.release()# cv2.destroyAllWindows()# else:# nowaterprint_frame waterprint(img)# cv2.imshow(frame, nowaterprint_frame)# cv2.waitKey(0)# cv2.destroyAllWindows()效果如下 使用cv2.inpaint函数进行图像修复效果还是不佳后续有空尝试训练去水印的AI模型。
http://www.w-s-a.com/news/135516/

相关文章:

  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么
  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转