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

微网站建设报价方案电子商务网站建设与维护题库

微网站建设报价方案,电子商务网站建设与维护题库,枣庄手机网站建设公司,wordpress mp4 插件计算机视觉实验五——图像分割 一、实验目标二、实验内容1.了解图割操作#xff0c;实现用户交互式分割#xff0c;通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域#xff0c;实现分割①图片准备②代码③运行结果④代码说明 2.采用聚类法实现… 计算机视觉实验五——图像分割 一、实验目标二、实验内容1.了解图割操作实现用户交互式分割通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域实现分割①图片准备②代码③运行结果④代码说明 2.采用聚类法实现图像的分割K-means方法①代码②运行结果③代码说明 一、实验目标 了解图割操作实现用户交互式分割通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域实现分割。采用聚类法实现图像的分割K-means方法。 二、实验内容 1.了解图割操作实现用户交互式分割通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域实现分割 ①图片准备 博主选择了一张前景与背景区分明显的图片和一张前景与背景区分不明显的图片 ②代码 import cv2 import numpy as npimg cv2.imread(building.jpg) img cv2.resize(img, (960, 720))# 创建一个和图像大小相同的掩码用于存储分割结果 mask np.zeros(img.shape[:2], np.uint8)bgdModel np.zeros((1, 65), np.float64) fgdModel np.zeros((1, 65), np.float64)# 定义鼠标回调函数用于获取用户画出的矩形框 def draw_rect(event, x, y, flags, param):global ix, iy, drawing, rect_overif event cv2.EVENT_LBUTTONDOWN:drawing Trueix, iy x, yelif event cv2.EVENT_MOUSEMOVE:if drawing True:img_copy img.copy()cv2.rectangle(img_copy, (ix, iy), (x, y), (0, 255, 0), 2)cv2.imshow(image, img_copy)# 调用grabCut算法进行分割elif event cv2.EVENT_LBUTTONUP:drawing Falserect_over Truecv2.rectangle(img, (ix, iy), (x, y), (0, 255, 0), 2)rect (min(ix, x), min(iy, y), abs(ix - x), abs(iy - y))cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)cv2.imshow(image, img)# 创建一个窗口绑定鼠标回调函数 cv2.namedWindow(image) cv2.setMouseCallback(image, draw_rect)drawing False # 是否正在画矩形框 ix, iy -1, -1 # 矩形框的起始坐标 rect_over False # 是否画完矩形框while True:cv2.imshow(image, img)k cv2.waitKey(1) 0xFF# 如果画完矩形框根据掩码显示分割结果if rect_over True:mask2 np.where((mask 2) | (mask 0), 0, 1).astype(uint8)img_cut img * mask2[:, :, np.newaxis]cv2.imshow(result, img_cut)if k 27:breakcv2.destroyAllWindows() ③运行结果 1前景与背景区分明显的图片 用鼠标画出矩形框 分割结果 2前景与背景区分不明显的图片 用鼠标画出矩形框 分割结果 ④代码说明 使用了OpenCV库中的grabCut算法。此算法的原理是基于图割graph cut的思想根据颜色信息和空间信息将图像划分为四个部分确定的背景、可能的背景、可能的前景和确定的前景。它会迭代地更新这四个部分直到收敛为止。 首先读取一张图像并创建一个和图像大小相同的掩码用于存储分割结果。创建grabCut算法需要的背景和前景模型用于存储颜色信息。定义一个鼠标回调函数用于获取用户画出的矩形框矩形框表示要分割出来的前景对象。在这个函数中当用户按下鼠标左键时开始画矩形框并记录起始坐标。当用户移动鼠标时更新矩形框并在图像上显示。当用户松开鼠标左键时结束画矩形框并调用grabCut算法进行分割。 2.采用聚类法实现图像的分割K-means方法 ①代码 import numpy as np import cv2 from sklearn.cluster import KMeans# 读取图像并转换为RGB格式 img cv2.imread(building.jpg)img cv2.resize(img, (960, 720))img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# 将图像数据转换为二维数组 h, w, c img.shape data img.reshape((h * w, c))# 使用K-means聚类算法对图像数据进行分割设置聚类数为3 kmeans KMeans(n_clusters3, random_state0) kmeans.fit(data)# 获取聚类标签和中心点 labels kmeans.labels_ centers kmeans.cluster_centers_# 将聚类标签转换为图像数据 labels labels.reshape((h, w)) result np.zeros((h, w, c), dtypenp.uint8)# 根据聚类中心点给每个像素赋予相应的颜色 for i in range(h):for j in range(w):result[i, j] centers[labels[i, j]]# 显示原始图像和分割后的图像 cv2.imshow(Original, img) cv2.imshow(Segmented, result) cv2.waitKey(0) cv2.destroyAllWindows() ②运行结果 1前景与背景区分明显的图片 2前景与背景区分不明显的图片 ③代码说明 使用了K-means方法实现图像的分割K-means是一种基于划分的聚类算法它的目标是将数据集划分为K个簇使得每个数据点属于离它最近的簇中心所代表的簇。 在代码中首先导入了numpy和cv2两个库numpy用于处理数组和矩阵cv2用于处理图像。然后读取了一张图像并将其转换为RGB格式。接着将图像数据转换为二维数组再使用sklearn.cluster中的KMeans类来进行聚类并对数据进行拟合。拟合后可以获取聚类标签和中心点再将聚类标签转换为图像数据根据聚类中心给每个像素赋予相应的颜色得到分割后的图像。最后显示原始图像和分割后的图像。
http://www.w-s-a.com/news/741248/

相关文章:

  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站
  • 网站设计确认函合肥做网站维护的公司
  • 小说网站推荐网站开发语言怎么查
  • 网页制作基础教程慕课版电子版那种登录才能查看的网站怎么做优化
  • 制作网站用的域名网站域名注册信息查询
  • 公司域名查询官方网站女教师遭网课入侵直播录屏曝
  • 网站开发社交网络功能的作用腾讯公司网站
  • 网站建设需要微信账号和密码网站建设工作汇报
  • 国家城乡住房和建设部网站西安私人网站
  • 天津高端网站定制seo实战教程
  • 网站文章怎么做才能被快速收录网站备案核验系统
  • 子网站建设方案l建设银行网站
  • 免费看舆情网站网站备案用户名忘了怎么办
  • 地方门户网站的分类网站的方案
  • 沧州哪里做网站网站的建设是什么
  • 设计公司海报秦皇岛seo网站推广
  • 网站导航规划wordpress做漫画
  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站
  • 做女朋友的网站局网站建设方案word
  • 做阿里国际网站会有成效吗科技网站有哪些
  • 高端公司网站建设北京两学一做网站