LEADTOOLS画像処理(Leadtools.ImageProcessing.Colorアセンブリ)

フレームを表示

ApplyMathematicalLogicCommandクラス








メンバ 
imageの色の上で、特定の数学的であるか論理的操作を実行します。
オブジェクトモデル
構文
'Declaration
 
Public Class ApplyMathematicalLogicCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As ApplyMathematicalLogicCommand
public sealed class ApplyMathematicalLogicCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTApplyMathematicalLogicCommand : LTRasterCommand
public class ApplyMathematicalLogicCommand extends RasterCommand
function Leadtools.ImageProcessing.Color.ApplyMathematicalLogicCommand()
public ref class ApplyMathematicalLogicCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
解説

*マスターチャネル値を計算すること

LEADTOOLSで広く使われている画像処理フィルタの速度を上げるために、カラー画像のグレースケール値(マスターチャネル)は、以下の手法を用いて計算されます:

             #define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
             #define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             #define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             
詳細については、「明度とコントラストの変更」を参照してください。
詳細については、「色の補正」を参照してください。
詳細については、「ApplyMathematicalLogicCommandのためのFlags」を参照してください。
サンプル

imageの上でApplyMathematicalLogicCommandを実行します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color

   
Public Sub ApplyMathematicalLogicCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\NaturalFruits.jpg"))

   ' Prepare the command
   Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand
   command.Factor = 151
   command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or ApplyMathematicalLogicCommandFlags.ResultDoNothing
   ' Multiply the colors of the bitmap using a factor of 1.51 .
   command.Run(leadImage)
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)

End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;

      
public void ApplyMathematicalLogicCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\NaturalFruits.jpg"));

   // Prepare the command
   ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
   command.Factor = 151;
   command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
   // Multiply the colors of the bitmap using a factor of 1.51 .
   command.Run(image);
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);

}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;

      
public async Task ApplyMathematicalLogicCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Prepare the command
   ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
   command.Factor = 151;
   command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
   // Multiply the colors of the bitmap using a factor of 1.51 .
   command.Run(image);

   string destFileName = @"result.jpg";
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Jpeg, 0);
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;

public void ApplyMathematicalLogicCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
   command.Factor = 151;
   command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
   // Multiply the colors of the bitmap using a factor of 1.51 .
   command.Run(image);
   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color

Public Sub ApplyMathematicalLogicCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand()
   command.Factor = 151
   command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or _
      ApplyMathematicalLogicCommandFlags.ResultDoNothing
   ' Multiply the colors of the bitmap using a factor of 1.51 .
   command.Run(image)
   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
   image.Dispose()
End Sub
必要条件

ターゲットプラットホーム

参照

参照

ApplyMathematicalLogicCommandメンバ
Leadtools.ImageProcessing.Color名前空間
ApplyMathematicalLogicCommandのためのFlags
明度とコントラストの変更
色の補正
Leadtools.ImageProcessing.Effects.CombineCommand
ChangeIntensityCommandクラス
GammaCorrectCommandクラス
ChangeContrastCommandクラス
HistogramContrastCommandクラス
StretchIntensityCommandクラス
RemapIntensityCommandクラス
ChangeHueCommandクラス
ChangeSaturationCommandクラス
HistogramEqualizeCommandクラス
Leadtools.ImageProcessing.FillCommand
HistogramCommandクラス
Leadtools.ImageProcessing.Core.WindowLevelCommand
AdjustTintCommandクラス
Leadtools.ImageProcessing.Core.HalfToneCommand