精华内容
下载资源
问答
  • 我正在尝试制作一个图形用户界面,帮助我裁剪人脸,并根据他们的情绪(如愤怒、悲伤、高兴等)对其进行折叠。我的代码看起来工作正常,但当我裁剪图像时,它会保存图像的其余部分。我真的不知道怎么才能做到!...

    我正在尝试制作一个图形用户界面,帮助我裁剪人脸,并根据他们的情绪(如愤怒、悲伤、高兴等)对其进行折叠。我的代码看起来工作正常,但当我裁剪图像时,它会保存图像的其余部分。我真的不知道怎么才能做到!!

    我的裁剪功能:def on_mouse(self, event, x, y, buttons, user_param):

    # Mouse callback that gets called for every mouse event (i.e. moving, clicking, etc.)

    if self.done: # Nothing more to do

    return

    if event == cv2.EVENT_MOUSEMOVE:

    # We want to be able to draw the line-in-progress, so update current mouse position

    self.current = (x, y)

    elif event == cv2.EVENT_LBUTTONDOWN:

    # Left click means adding a point at current position to the list of points

    print("Adding point #%d with position(%d,%d)" % (len(self.points), x, y))

    self.points.append((x, y))

    elif event == cv2.EVENT_RBUTTONDOWN:

    # Right click means we're done

    print("Completing polygon with %d points." % len(self.points))

    self.done = True

    def run(self, image):

    # Let's create our working window and set a mouse callback to handle events

    cv2.namedWindow(self.window_name, flags=cv2.WINDOW_AUTOSIZE)

    cv2.imshow(self.window_name, image)

    cv2.waitKey(1)

    cv2.setMouseCallback(self.window_name, self.on_mouse)

    while(not self.done):

    # This is our drawing loop, we just continuously draw new images

    # and show them in the named window

    if (len(self.points) > 0):

    # Draw all the current polygon segments

    cv2.polylines(image, np.array([self.points]), False, FINAL_LINE_COLOR, 1)

    # And also show what the current segment would look like

    cv2.line(image, self.points[-1], self.current, WORKING_LINE_COLOR)

    # Update the window

    cv2.imshow(self.window_name, image)

    # And wait 50ms before next iteration (this will pump window messages meanwhile)

    if cv2.waitKey(50) == 27: # ESC hit

    self.done = True

    # User finised entering the polygon points, so let's make the final drawing

    # of a filled polygon

    if (len(self.points) > 0):

    cv2.fillPoly(image, np.array([self.points]), FINAL_LINE_COLOR)

    # And show it

    cv2.imshow(self.window_name, image)

    # Waiting for the user to press any key

    cv2.waitKey()

    cv2.destroyWindow(self.window_name)

    return image

    编辑:当我在open函数中更改这行时:

    ^{pr2}$

    为此:im = Image.open(fileName).convert("RGBA")

    imArray = numpy.asarray(im)

    real_image = imageViewer.run(imArray)

    它给了我这样的错误:

    已连接到pydev调试器(内部版本162.1967.10)

    JPEG数据损坏:数据段过早结束

    回溯(最近一次呼叫):

    文件“C:/Users/ASUS/Desktop/cgg/gui/template2.py”,第156行,打开

    im=图像.打开(文件名).convert(“RGBA”)

    文件“C:\Python27\lib\site packages\PIL\图像.py“,第1956行,开放式

    前缀=fp.读取(十六)

    AttributeError:“QString”对象没有属性“read”

    顺便说一下,我用这些代码行得到了文件名fileName = QtGui.QFileDialog.getOpenFileName(self, "Open File",

    QtCore.QDir.currentPath())

    if fileName:

    image = QtGui.QImage(fileName)

    if image.isNull():

    QtGui.QMessageBox.information(self, "Image Viewer",

    "Cannot load %s." % fileName)

    return

    展开全文
  • 大致看了下D3D所有的sample演示,只有1个有显示三角形数目的,但它是直接计算MeshNums*faceNums, 是没有经过裁剪计算的,所以请教熟悉D3D的技术们这个问题,感激不尽。
  • 如何从图像中裁剪凹面多边形.我的输入图像看起来像.和闭合多边形的坐标是[10150],[150100],[300150],[350100],[310,20],[35,10].我希望使用opencv裁剪由凹多边形限定的区域.我搜索了其他类似的问题,但我找不到正确的...

    如何从图像中裁剪凹面多边形.我的输入图像看起来像

    .

    和闭合多边形的坐标是

    [10150],[150100],[300150],[350100],[310,20],[35,10].我希望使用opencv裁剪由凹多边形限定的区域.我搜索了其他类似的问题,但我找不到正确的答案.那就是我问的原因?你能帮助我吗.

    任何帮助将非常感谢.!!!

    解决方法:

    Steps

    find region using the poly points

    create mask using the poly points

    do mask op to crop

    add white bg if needed

    编码:

    # 2018.01.17 20:39:17 CST

    # 2018.01.17 20:50:35 CST

    import numpy as np

    import cv2

    img = cv2.imread("test.png")

    pts = np.array([[10,150],[150,100],[300,150],[350,100],[310,20],[35,10]])

    ## (1) Crop the bounding rect

    rect = cv2.boundingRect(pts)

    x,y,w,h = rect

    croped = img[y:y+h, x:x+w].copy()

    ## (2) make mask

    pts = pts - pts.min(axis=0)

    mask = np.zeros(croped.shape[:2], np.uint8)

    cv2.drawContours(mask, [pts], -1, (255, 255, 255), -1, cv2.LINE_AA)

    ## (3) do bit-op

    dst = cv2.bitwise_and(croped, croped, mask=mask)

    ## (4) add the white background

    bg = np.ones_like(croped, np.uint8)*255

    cv2.bitwise_not(bg,bg, mask=mask)

    dst2 = bg+ dst

    cv2.imwrite("croped.png", croped)

    cv2.imwrite("mask.png", mask)

    cv2.imwrite("dst.png", dst)

    cv2.imwrite("dst2.png", dst2)

    来源图片:

    结果:

    标签:python,opencv,image-processing,crop

    展开全文
  • photoshop(ps)如何裁剪不规则图片

    千次阅读 2019-05-08 21:58:27
    分两步走: 1、打开图片后,选择多边形套索工具(或其他合适的套索工具),画出你需要的不规则图片区域; 2、新建图层,把不规则图片区域ctrl+c,ctrl+v复制粘贴到新图层里。 ...

    分两步走:

    1、打开图片后,选择多边形套索工具(或其他合适的套索工具),画出你需要的不规则图片区域;

    2、新建图层,把不规则图片区域ctrl+c,ctrl+v复制粘贴到新图层里。

     

    展开全文
  • 本例讲解如何通过clip-path把一个div(元素,可以是图片等)裁切成不同的形状,这里以一个div为例宽高均为300px 注意:不支持IE和Firefox,支持webkit浏览器,在现代浏览器中需要使用-webkit-前缀。 ## 注意 ...

    本例讲解如何通过clip-path把一个div(元素,可以是图片等)裁切成不同的形状,这里以一个div为例宽高均为300px

    注意:不支持IE和Firefox,支持webkit浏览器,在现代浏览器中需要使用-webkit-前缀。

     

    ## 注意 clip-path 从右上开始顺时针旋转切割 

    
     
    1. <div class="demo" style="width: 300px; height: 300px; margin: auto; background: red;">

    2. </div>

    1.裁切为一个三角形或者梯形 使用:polygon裁剪多边形。

    
     
    1. .demo{

    2. -webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);

    3. }

    剪切梯形:坐标顺序为,右上、右下,左下,左上

    
     
    1. .demo{

    2. -webkit-clip-path: polygon(100% 0,75% 100%, 25% 100%, 0 0);

    3. }

    2.裁切圆 :创建圆形,需要给circle传入三个值:半径和圆心坐标(x y),用at关键字来定义圆心坐标。

    
     
    1. .demo{

    2. -webkit-clip-path: circle(50% at 50% 50%);

    3. }

    3.裁切椭圆:创建椭圆,需要给ellipse传入四个值:椭圆的x轴半径、y轴半径以及椭圆圆心(x y)。

    
     
    1. .demo{

    2. -webkit-clip-path: ellipse(30% 20% at 50% 50%);

    3. }

    4.再说下裁切的:矩形裁切,边缘裁切用到的 inset(对应的是距上,距右,距下,距左的位置)

    
     
    1. .demo{

    2. -webkit-clip-path: inset(100px 50px 50px 50px);

    3. }

     

    小实例:裁切一个圆角 inset(<top> <right> <bottom> <left> round <top-radius> <right-radius><bottom-radius> <left-radius>)

    -webkit-clip-path: inset(25% 0 round 0 25%);

     

     

     

     

     

     

    展开全文
  • (2)复制出右腿,摆放位置如下图所示: (3)使用矩形工具画一个18*24的矩形,填充颜色为#f3ad24,使用多边形工具原一个三角形,放在矩形的底部,选中两个形状,打开“路径查找器”,形状模式选择“联集”,如下图所示...
  • 文字裁剪

    2018-10-22 16:30:00
    屏幕上显示的不仅仅是多边形和直线等,还显示字符。字 符如何来处理? 字符并不是由直线段组成的。文字裁剪包括以下几种: 串精度裁剪 字符精度裁剪 笔划/像素精度裁剪 1、串精度裁剪 当字符串中的所有字符...
  • 填充实心多边形(一)

    千次阅读 2008-09-06 20:12:00
    可以利用前一篇文章中的Cohen-Sutherland裁剪算法对缓冲区的任意图形画出经裁剪的该图形,那么接下来该如何填充这些图形(一般是多边形)。若是四边形,我们可以把它分解成2个三角形。而对于任意三角形,又可以分解成...
  • 在上一篇我们学习了如何搭建IOS下openGL的开发环境,接下来我们来学习如何绘制一个多边形。 在2.0之前,es的渲染采用的是固定管线,何为固定管线,就是一套固定的模板流程,局部坐标变换 -> 世界坐标变换 ->...
  • 矩形范围2、好像也可以通过多边形裁剪,如果没有,程序肯定可以的3、通过mosaic也可以如何用shp在arcgis中裁剪1、对矢量数据进行裁减:Arctoolbox中,spatialtool>extract>clip在InputFeatures中选择被裁剪的...
  • 我正在使用OpenCV 3.1.0-dev和python 2.7.我试图裁剪出我缝制的图像...我想知道是否有人知道如何多边形裁剪到包含整个图像的最小正方形中.蓝线和点是cv2.findContours找到的轮廓.是否可以在numpy数组中找到左上角...
  • 在上一篇我们学习了如何搭建IOS下openGL的开发环境,接下来我们来学习如何绘制一个多边形。 在2.0之前,es的渲染采用的是固定管线,何为固定管线,就是一套固定的模板流程,局部坐标变换 -> 世界坐标变换 ->...
  • 没有ArcGIS的矢量转栅格工具的时候如何用shp多边形从栅格数据中抠出一块来?1fromosgeoimportgdal2result=gdal.Warp('masked.tif','input.tif',cutlineDSName='input.shp')3result.FlushCache()4delresultBOOM!完成...
  • 如何在Bitmap截取任意形状

    千次阅读 2017-01-06 11:45:03
    现在许多截屏应用中都实现了任意形状截图,我一开始有些疑惑:到底是如何判断一个像素点是在曲线内部还是外部的呢,因为多边形是否包含点的判断还是比较复杂的,计算起来复杂度可不低,后来看了一些资料,发现完全...
  • ZBrush大师教你如何去做骨骼建模 一、研究骨骼用处 我们所有的角色都是穿着衣服的人体,那么人体包括皮肤、肌肉和骨骼。我觉得骨骼是人体的基础,骨骼撑着肌肉,肌肉撑着皮肤,才能给人立体饱满的感觉。所以,骨骼起...
  • 需要表述 项目中遇到一些不规则的图片作品需要合成,给一张不规则的png图片...现采用.net中的Region 多边形区域采集和裁剪,并用到了win32的api:gdi32.dll 示意代码 //区域采集函数 public static Regi...
  • 图示了2D中如何裁剪。 我们可以把视锥看做一个六面体。——上、下、左、右、近、远平面。为了把一个多边形按照视锥裁剪,我们必须按照每个面逐一裁剪。当我们把一个多边形按照某一个面裁剪的时候,在正方向的那个面...
  • 本书主要介绍计算机图形学经典理论知识,同时每一章都给出一至两个OpenGL编程实例来帮助读者更好地理解相关知识与技术,使读者能快速掌握如何生成二维图形与三维图形。书后有两个附录,分别为含有8个实验的课程实验...
  • 目录 一、已知边界坐标,直接画出多边形 二、通过形态学操作产生Mask 三、人机交互式 在图像分割领域,一个重要任务...但是现实情况中,ROI是不规则的多边形,也可能是曲线边界,那么该如何分割出来呢?下面总结...
  • css | 不规则 的图片 clip-path

    千次阅读 2016-12-22 16:28:35
    “我就係風魔萬千前端開發,改造web...话说我们上回讲道:如何利用css实现多边形,综之原理便是利用width、height为0,结合border,一个纯多边形在代码下诞生了。那么,图片呢,我突然想让图片也显示的不规则,咋弄。今
  • 在使用正版CAD软件绘制建筑CAD图纸的过程中,当进行CAD图案填充的时候如何进行图案加洞呢?有些刚开始进行CAD制图初学入门学习的小伙伴可能对此并不了解,下面就和小编一起来看看正版CAD软件——浩辰CAD建筑软件中...
  • 但是现实情况中,ROI是不规则的多边形,也可能是曲线边界,那么该如何分割出来呢?下面总结几种思路。可能只提供核心部分的代码示例,具体应用要结合你自己的项目来修正。一、已知边界坐标,...
  • arcgis工具

    2012-10-22 22:37:31
    当一个图斑的边界确定,需要实现两个图斑的无缝拼接时,可以把图斑拉伸覆盖确定边界的图斑的一部分,然后用下面的图斑区上面的图斑。 方法二:图斑之间有小的缝隙,可以先在缝隙上任意补画一个图斑,然后合并...
  • 这时我们需要一个专门用于阴影剔除的包围体(culling volume)那么如何构造这个包围体呢。我们将视锥向光源方向投影,可以得到一个凸多边形的轮廓。轮廓上的每条边都对应于视锥上的一条边,我们将视锥从这些边处切成...
  • Nehe的OpenGL教程电子书

    2018-04-07 12:25:03
    理解OpenGL如何工作非常重要,你可以在教程的末尾下载源程序,但我强烈建议你至少读一遍教程,然后再开始编程. 2.你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很...
  • 理解OpenGL如何工作非常重要,你可以在教程的末尾下载源程序,但我强烈建议你至少读一遍教程,然后再开始编程. 2.你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很...
  • 本书将以循序渐进的方式让读者首先学习到如何编写简单的程序来绘制简单的图像,然后一步一步深入地掌握如何生成更加复杂的特殊效果的技巧。  练习和问题  本书包含超过350道来源于实际问题的练习题。其中大部分都...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

如何剪多边形