Tag: 图像处理

c#检测图像中的矩形

我想在下面的图像中检测并获取一个Rects数组,每个矩形一个。 我怎么能在c#中这样做? 基本上我正在尝试扫描屏幕拍摄的图像并解析窗口数组。 Rect是某种forms的(xloc,yloc,xsize,ysize)返回的数组:rectangles = ParseRects(image);

自动为图像添加水印

在搜索自动将水印添加到互联网图像的解决方案时,我找到了stackoverflow中的最佳解决方案。 问题的链接是C# – 通过特殊方式为照片添加水印 。 我特别感谢Alex Maslakov和漂泊 。 我通过一些修改实现了该解决方案,我想将水印放在图像的中心。 我修改了adrift提供的解决方案,如下所示 private void button1_Click(object sender, EventArgs e) { using (Image image = Image.FromFile(@”C:\Users\Public\Pictures\Sample Pictures\Desert.jpg”)) using (Image watermarkImage = Image.FromFile(@”C:\Users\Public\Pictures\Sample Pictures\watermark.png”)) using (Graphics imageGraphics = Graphics.FromImage(image)) using (Brush watermarkBrush = new TextureBrush(watermarkImage)) { int x = (image.Width – watermarkImage.Width)/2; int y = (image.Height – watermarkImage.Height)/2; imageGraphics.FillRectangle(watermarkBrush, new […]

如何从图像中生成突出颜色的调色板?

我试图弄清楚如何对图像中的所有像素进行采样并从中生成颜色调色板, 如此或类似。 我不知道从哪里开始。 谁能指出我正确的方向? __EDIT:__ 这就是我到目前为止所得到的: 我使用这个Pixelate函数来获取像joe_coolish建议的大块部分。 它工作得很完美,给我一个非常好的颜色样本(这是来自windows样本果冻鱼图片): 现在,如果有人能帮助我获得5种最鲜明的颜色(最深的蓝色,最浅的蓝色,橙色,灰色和桃色(?)),我会永远爱你。 我真的不明白如何平均或添加颜色。 我也无法弄清楚如何以编程方式判断颜色是否相似,在你的解释中有一些数字和变量让我迷失了,试图找出对谁做什么。

C# – 从照片中识别黑点

我有一些白页的照片,上面画着一些黑点,像这样: 照片 (点不是很圆,我可以画得更好),我会找到这些点的坐标。 我可以将图像二值化(上一张照片二值化: 图像 ),但是如何找到这些黑点的坐标? 我只需要每个点的一个像素的坐标,即大致中心。 这是为了学校作业。

减少图像中的颜色深度并不会减小文件大小?

我使用此代码来减少图像的深度: public void ApplyDecreaseColourDepth(int offset) { int A, R, G, B; Color pixelColor; for (int y = 0; y < bitmapImage.Height; y++) { for (int x = 0; x < bitmapImage.Width; x++) { pixelColor = bitmapImage.GetPixel(x, y); A = pixelColor.A; R = ((pixelColor.R + (offset / 2)) – ((pixelColor.R + (offset / 2)) % offset) […]

C#线程图像处理

for (int x = 0; x < blockCountX; x++) { for (int y = 0; y < blockCountY; y++) { //get blocks from image to new image and send to threaded processor imageBlocks[x, y] = image.Clone(clipRectangle, System.Drawing.Imaging.PixelFormat.Format8bppIndexed); System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(ThreadedFromHeightMap)); t.Start(imageBlocks[x,y]); clipRectangle.Offset(0, IMAGEBLOCKSIZE); } clipRectangle.Offset(IMAGEBLOCKSIZE, clipRectangle.Location.Y * -1); } break; } } […]

如何使用c#从图像中裁剪十字矩形?

我想得到图像的一些特定部分,所以我正在裁剪图像。 但是,当我想得到一个与图像不平行的部分时,我会旋转图像然后裁剪。 我不想旋转图像并裁剪一个平行的矩形。 我想要的是,在不旋转图像的情况下,裁剪出与图像成一定角度的矩形。 有没有办法做到这一点? 我想我不能很好地表达自己。 这就是我想要做的: 示例图片 。 假设红色的东西是一个矩形:)我想从图像中裁剪出那个东西。 裁剪后,它不需要是天使。 所以mj可以躺下来。

如何区分2张图像并将其保存到图像中

我的意思是标题是我有2张图片 – 每张图片来自不同的时间(来自屏幕截图)我希望得到两者之间的差异使所有相同的部分透明,将差异发送给客户并放置它在他拥有的图像之上 不要担心发送部分 – 我已经涵盖了这一点。 我需要帮助的是如何获得差异,将其保存到图像/流/字节数组并将其合并到一个图像。

如何将C#中的图像调整为某个硬盘大小?

如何将图像中的图像大小调整为C#到某个硬盘大小,如2MiB? 有没有比试验和错误更好的方法(当然,即使它是近似的)。 在尝试在网络上找到解决方案时要搜索的任何特定关键字?

如何在XNA中调整和保存Texture2D?

在我为XNA游戏制作的关卡编辑器(编辑器也在XNA中)我允许缩放Texture2D对象。 当用户试图保存关卡时,我想实际调整磁盘上的图像文件大小,这样就不需要在游戏中进行缩放。 有没有一种简单的方法可以从缩放的Texture2D对象创建图像文件(首选PNG)?