标签: mask

是否可以在 Python 图像库 (PIL) 中屏蔽图像?

我有一些交通摄像头图像,我只想提取道路上的像素。我以前使用过遥感软件,可以指定类似的操作

img1 * img2 = img3

其中 img1 是原始图像,img2 是直接的黑白蒙版。本质上,图像的白色部分将评估为

img1 * 1 = img3

黑色部分的评估结果为

img1 * 0 = img3

因此,人们可以拍摄图像的一部分,让所有不重要的区域变成黑色。

有没有办法使用 PIL 来做到这一点?我找不到任何与我习惯看到的图像代数类似的东西。我尝试过混合功能,但这只会使它们一起消失。我已经阅读了一些关于 numpy 的内容,看起来它可能能够做到这一点,但在我深入研究之前,我想确定在 PIL 中没有直接的方法可以做到这一点。

谢谢。

python image mask image-processing python-imaging-library

2
推荐指数
2
解决办法
2万
查看次数

ValueError:只能比较标记相同的系列对象

这是我的代码,无论我做什么,我都会不断收到错误并遵循所有与索引相关的解决方案,有人可以帮助我吗?

site = pd.read_csv('../data/survey_site.csv')
sampled = site.sample(n=1)

site = site.reset_index(drop=True)
sampled = sampled.reset_index(drop=True)

mask = site.mask(site['name'] == sampled['name'])
Run Code Online (Sandbox Code Playgroud)

python mask data-analysis dataframe pandas

2
推荐指数
1
解决办法
5440
查看次数

使用 OpenCV 和掩码合并图像

我一直在使用 OpenCV 和 Python 执行一些图像操作。我设法隔离了我感兴趣的轮廓。现在我有两张图像,一张 NDVI 图像和一张普通图像。我想用我的面具将两者合并。因此,如果我的蒙版的像素位置为零,则应使用图像一的像素;如果蒙版的像素位置为 1,则应使用图像二的像素。基于此,我想合并我的两张照片。

任何建议,将不胜感激 :)!

python opencv image mask

2
推荐指数
1
解决办法
5907
查看次数

带有动态掩码的 Tensorflow boolean_mask

boolean_mask 的文档说必须静态知道掩码的形状。但是如果你这样做

mask.set_shape([None])
tf.boolean_mask(tensor, mask)
Run Code Online (Sandbox Code Playgroud)

它似乎工作正常。有什么理由不这样做吗?

mask shape tensorflow

2
推荐指数
1
解决办法
1386
查看次数

如何在 Android 中的 TextView 上撤消蒙版过滤器模糊

我使用这里的代码来模糊一些文本:

    val radius = msgText.getTextSize() / 3
    val mTextFilter = BlurMaskFilter(radius, BlurMaskFilter.Blur.NORMAL)
    msgTextView.getPaint().setMaskFilter(mTextFilter)
Run Code Online (Sandbox Code Playgroud)

...在某些时候我想撤消模糊,所以我尝试:

msgTextView.getPaint().setMaskFilter(null)
Run Code Online (Sandbox Code Playgroud)

但这并没有清除文本中的模糊之处,尽管它有描述:

package android.graphics;

...

public class Paint {

...
/**
     * Set or clear the maskfilter object.
     * <p />
     * Pass null to clear any previous maskfilter.
     * As a convenience, the parameter passed is also returned.
     *
     * @param maskfilter May be null. The maskfilter to be installed in the
     *                   paint
     * @return           maskfilter
     */
    public MaskFilter setMaskFilter(MaskFilter …
Run Code Online (Sandbox Code Playgroud)

android mask blur

2
推荐指数
1
解决办法
1749
查看次数

根据字符串列的最后一个字母,使用掩码删除 Pandas df 行

例如,在下面有 3 行的 Pandas 数据框中,所有这些都是字符串。我想根据条件下降if str[-1] == '-':

df = pd.DataFrame({'a': ["123-","123-1","123-2"]})
Run Code Online (Sandbox Code Playgroud)

但如果我这样做

df[df['a'][-1]=='-']
Run Code Online (Sandbox Code Playgroud)

它会返回一个错误。我知道可以用 df.apply 函数来做到这一点。但我只是想知道是否可以用面具来完成。

python mask pandas

2
推荐指数
1
解决办法
4812
查看次数

过滤 numpy 数组的 numpy 数组

我有一个 np 数组数组,我想删除与条件匹配的所有元素。我想避免for循环以使其更快。

np 数组的形状为 [N,2]。我想删除第一个元素等于零的所有子数组。

[[1,2],
 [0,5], # <--- Remove
 [5,1],
 [0,3], # <--- Remove
 [1,1],
 [0,0], # <--- Remove
 [5,0],
 .....
 [5,5]] 
Run Code Online (Sandbox Code Playgroud)

我希望有一个只需一行代码的解决方案。我只是无法弄清楚这条线。我希望有人能帮助我。

谢谢。

python arrays numpy mask filter

2
推荐指数
1
解决办法
3332
查看次数

在蒙版图像pygame上检测鼠标事件

我创建了一个点击游戏,我有一个透明的图像(我在 Pixel Perfect Collision 的 Mask 中设置)但是当我还点击透明部分时,会检测到 MOUSEBUTTONDOWN 事件。


实际上,我在 Player 类中的代码是:

self.image = pygame.image.load(str(level) + ".png").convert_alpha()
self.mask = pygame.mask.from_surface(self.image)
self.image_rect = self.image.get_rect(center=(WW, HH))
Run Code Online (Sandbox Code Playgroud)

这在主循环中:

x, y = event.pos
if my_player.image_rect.collidepoint(x, y):
    my_player.click()
Run Code Online (Sandbox Code Playgroud)

所以我希望只有当我点击图像的彩色部分而不是透明背景时才触发点击事件。

谢谢,

python events pygame mask

2
推荐指数
1
解决办法
526
查看次数

Pygame 与蒙版碰撞

我已经制作了一个推杆游戏,现在我想添加一个倾斜的墙类型。因此,我需要使用遮罩进行碰撞(到目前为止我只使用了矩形)。我花了几个小时学习掩模并试图找出为什么我的代码不起作用。没有错误,只是没有检测到碰撞。

我已将代码简化为更小的代码,以便我有效地测试它。从我所看到的一切来看,这似乎应该有效,但事实并非如此。这里是:

import pygame

# Pygame init stuff
pygame.init()

wind_width = 1200
wind_height = 700

gameDisplay = pygame.display.set_mode((wind_width, wind_height))
pygame.display.set_caption("Mini Golf!")

pygame.display.update()

gameExit = False

clock = pygame.time.Clock()

# Class setups
class Ball:

    def __init__(self, x, y):
        self.x = x
        self.y = y

        self.image = pygame.image.load("sball.png")
        self.rect = self.image.get_rect()
        self.mask = pygame.mask.from_surface(self.image)

    def render(self):
        self.rect.topleft = (self.x, self.y)
        gameDisplay.blit(self.image, self.rect)

class Slant:

    def __init__(self, x, y):
        self.x = x
        self.y = y

        self.image = pygame.image.load("posslant.png")
        self.rect = self.image.get_rect()
        self.mask = …
Run Code Online (Sandbox Code Playgroud)

python pygame mask collision-detection

2
推荐指数
1
解决办法
1850
查看次数

如何仅提取图像中被屏蔽的像素?(Python numpy 数组运算)

我有一个图像及其相应的 cob 掩码作为 numpy 数组:

图像

面具

图像 numpy 数组的形状为 (332, 107, 3)。

掩码是布尔值(由 True/False 组成),并且具有二进制形状 (332, 107)。

 [[False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]
 ...
 [False False False ... False False False]
 [False False False ... False False False]
 [False False False ... False False False]]
Run Code Online (Sandbox Code Playgroud)

如何获取玉米棒子的颜色像素(蒙版所在的彩色图像中的所有像素)?

python numpy image mask

2
推荐指数
1
解决办法
4144
查看次数