Tag: 图像

查找特定文本并替换为MS Word中的图像文件

MS word文件如下所示 #A ## B ## C ## D ## E# 我已经实现了下面的代码来使用C#替换MS word文件中的文本。 public void ReplaceWordDoc() { object missing = Missing.Value; Document doc = Globals.ThisAddIn.Application.ActiveDocument; List search = GetSearchList(); foreach (var searchItem in search) { foreach (Range tmpRange in ((Document)doc).StoryRanges) { tmpRange.Find.ClearFormatting(); tmpRange.Find.Text = searchItem.Find; tmpRange.Find.Replacement.ClearFormatting(); tmpRange.Find.Replacement.Text = searchItem.Replace; object replaceAll = WdReplace.wdReplaceAll; if (searchItem.Replace.Contains(“gif”)) […]

用于偏色去除的SVM图像标注的实现

我正在实现基于[ 1 ]的自动色偏移除 ,这看起来像一个强大,简单且性能良好的方法。 为了避免通过主要颜色(例如大片植被或水)去除内在投射,他们使用[ 2 ]描述的图像注释方法。 偏色检测器使用多类支持向量机将图像区域分类为天空,皮肤,植被,水或其他。 我的问题是[ 2 ]仅描述了该方法,它们不包括训练SVM所产生的超平面参数。 培训新的SVM超出了我的范围,但我没有找到任何类似的工作,包括即用型数据。 我真的很感激以下之一: A.使用[ 2 ]中的方法训练产生的一组超平面参数。 B.天空/皮肤/植被/水的一些其他图像标注方法,包括训练的参数或不需要训练。 C.一些包含天空/皮肤/植被/水的注释区域的免费图像数据库,我可以使用[ 2 ]中的方法训练新的SVM。 参考 F. Gasparini和R. Schettini“ 使用简单图像统计数字照片的色彩平衡 ” C. Cusano,G。Ciocca和R. Schettini“ 使用SVM进行图像标注 ”

将图像转换为1bpp时的阈值?

我不知道如何标记这个问题,请尽可能编辑。 作业:创建一个应用程序,可以在批处理运行中自动裁剪图像中的黑色边框。 图像质量从100-300dpi,1bpp-24bpp不等,批次可以从10-10000个图像变化。 计划:将图像转换为1bpp(双色调,黑/白,如果还没有),在“清理”白点/污垢/噪音后找到黑色结束和白色开始的地方,这些是新的坐标图像裁剪,将它们应用于原始图像的克隆。 删除旧图像,保存新图像。 进展:以上所有都已完成,并且有效,但…… 问题:当转换为1bpp时,我无法控制“阈值”值。 我需要这个。 许多黑暗的图像被裁剪得太多了。 尝试:我试过了 Bitmap imgBitonal = imgOriginal.Clone(new Rectangle(0, 0, b.Width, b.Height), PixelFormat.Format1bppIndexed) 还有这个 。 两者都有效,但似乎没有人给我手动设置阈值的可能性。 我需要用户能够设置此值,并在运行批处理之前使用我的“预览”function,以查看设置是否有用。 哭泣:我在这里不知所措。 我现在不做该做什么或怎么做。 请帮助编码员。 指向一个方向,告诉我链接中找到的代码在哪里找到一个阈值(我没有找到一个,或者不知道在哪里看)或者只是给我一些有用的代码。 任何帮助表示赞赏。

将HBitmap转换为保留alpha通道的位图

我一直在Google和Stack Overflow中搜索,但我找不到一个有效的例子。 我需要将HBitmap转换为Managed .NET位图,但以下代码不保留alpha通道 。 private static Bitmap GetBitmapFromHBitmap(IntPtr nativeHBitmap) { Bitmap bmp = Bitmap.FromHbitmap(nativeHBitmap); return bmp; } 我在SO中找到了这个答案 ,但它对我不起作用,这个例子保留了透明度,但它将我的图像在Y轴上翻转180º并将其旋转180º。 我不知道为什么。 这个其他例子似乎有效,但它是C ++ 有人在C#中工作,非常重要,没有内存泄漏? 提前致谢。 编辑 :关于@Hans Passant的评论,我使用以下代码获取HBitmap(它是一个shell调用,用于从操作系统获取缩略图或图标(仅限Vista和Win7)。 private static IntPtr GetHBitmap(string fileName, int width, int height, ThumbnailOptions options) { IShellItem nativeShellItem; Guid shellItem2Guid = new Guid(IShellItem2Guid); int retCode = SHCreateItemFromParsingName(fileName, IntPtr.Zero, ref shellItem2Guid, out […]

将图像从资源文件保存到计算机 – c#

Okei,我有一个带有资源文件的C#项目。 资源文件包含图像(.png)。 我希望将png文件保存/解压缩到我的计算机上的指定文件夹中。 我该怎么做呢?

c#通过socket发送图像和posibble一样快

你好我们试图尽可能快地发送套接字试图压缩… comapre图像…它仍然工作很慢…顺便说一下我试图在压缩之前和之后保存图像和大小是相同的…. 1或2 kb les … 看看客户端代码: Bitmap pre; private void Form2_Load(object sender, EventArgs e) { pre = GetDesktopImage(); prev = Compress(ImageToByte(pre)).Length; theThread = new Thread(new ThreadStart(startSend)); theThread.Start(); } Bitmap curr; byte[] compressed; private void startSend() { sck = client.Client; s = new NetworkStream(sck); while (true) { curr = GetDesktopImage(); compressed = Compress(ImageToByte(curr)); if (Math.Abs(compressed.Length […]

如何仅将文件夹中的某些图像显示到ASP.NET中的Repeater中

我有一个Repeater,它将我的所有图像都放在一个文件夹中并显示它。 但是我必须做什么代码更改只允许让我们在我的转发器中显示Image1.jpg和Image2.jpg。 我不希望转发器显示我文件夹中的所有图像。 我的中继器 我的代码背后 – PAGE LOAD protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string sBasePath = System.Web.HttpContext.Current.Request.ServerVariables[“APPL_PHYSICAL_PATH”]; if ( sBasePath.EndsWith(“\\”)) sBasePath = sBasePath.Substring(0,sBasePath.Length-1); sBasePath = sBasePath + “\\” + “pics”; System.Collections.Generic.List oList = new System.Collections.Generic.List(); foreach (string s in System.IO.Directory.GetFiles(sBasePath, “*.*”)) { //We could do some filtering for example only […]

如何在加载应用程序时显示图像

我有和应用程序窗口forms.net和我的form1花了很多时间出现,因为在它的事件form1_Load做了很多操作。 我的目标是在操作完成时显示图像。 private void form1_Load(object sender, EventArgs e) { methode1(); } 虽然我的methode1()正在工作,我的表格没有显示,我想在我的methode1()工作时在屏幕上显示图像,因为当methode1()工作时,屏幕上什么也没有。

为什么不asp:UpdatePanel刷新图像?

我有以下UpdatePanel从ashx处理程序获取图像,所有这些都在页面刷新时正常工作。 但是,当计时器触发时,标签会以当前时间刷新,但不会刷新图像。 计时器例程是: protected void UpdateTimer_Tick(object sender, EventArgs e) { DateStampLabel.Text = DateTime.Now.ToString(); } 为什么图像没有刷新?

C#将2D双数组转换为灰度图像

第一次在这里使用C#。 我正在阅读一些图像文件,做一些计算,输出和数组的double。 我需要能够将这个双数组(或者这些,因为我将有多个数组)保存到灰度图像。 我一直在互联网上四处寻找,我找不到多少。 我已经在Python和Mathlab上完成了它,但C#似乎对我不友好。 这是我到目前为止所做的(对于双重图像创建)。 static Image MakeImage(double[,] data) { Image img = new Bitmap(data.GetUpperBound(1), data.GetUpperBound(0)); //Bitmap bitmap = new Bitmap(data.GetUpperBound(1), data.GetUpperBound(0)); for (int i = 0; i < data.GetUpperBound(1); i++) { for (int k = 0; k < data.GetUpperBound(0); k++) { //bitmap.SetPixel(k, i, Color.FromArgb((int)data[i, k],(int) data[i, k],(int) data[i, k])); } } return img; […]