1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using PaintDotNet.Base.SettingModel;
- using System.Collections;
- using PaintDotNet.ImageCollect.CameraManager;
- using TUCAMAPI;
- using TUCamera;
- using OpenCvSharp;
- using System.Threading;
- using OpenCvSharp.Extensions;
- namespace PaintDotNet.Setting.LabelComponent
- {
- /// <summary>
- /// 相机设置,调节界面
- /// </summary>
- public class AdjustCameraControl : UserControl
- {
- #region 控件
- private Label label5;
- private TrackBar lightTBar;
- private TrackBar ExposureTBar;
- private GroupBox groupBox1;
- private Label label6;
- private GroupBox groupBox2;
- private GroupBox groupBox3;
- private CheckBox xianshiColourCheckBox;
- private Button button5;
- private Button button4;
- private Button button3;
- private Button button2;
- private TrackBar blueChannelTB;
- private Label label9;
- private Label label8;
- private TrackBar greenChannelTB;
- private Label label7;
- private TrackBar redChannelTB;
- private Label label12;
- private Label label11;
- private Label label10;
- private GroupBox groupBox4;
- private Label label13;
- private Label lblBaoGuangMaxVal;
- private Label lblBaoGuangMinVal;
- private Label label3;
- private Label label4;
- private TextBox ExposureBox;
- private TextBox LightBox;
- private PictureBox lanlvpictureBox;
- private PictureBox lansepictureBox;
- private PictureBox huangsepictureBox;
- private PictureBox lvsepictureBox;
- private PictureBox yanghongsepictureBox;
- private PictureBox hongsepictureBox;
- private Label lblSaturationMinVal;
- private TextBox baoheduTBox;
- private Label lblSaturationMaxVal;
- private TrackBar baoheduTBar;
- /// <summary>
- /// 增益值下拉选
- /// </summary>
- string[] gainArray = new string[] { PdnResources.GetString("Menu.Highgai.Text"), PdnResources.GetString("Menu.Lowgain.Text") };
- /// <summary>
- /// 相机参数的Model
- /// </summary>
- private CameraParamModel m_cameraParamModel;
- private CheckBox checkBoxAutoExposure;
- private bool m_immediately;
- private bool m_toAddExtraButtons = false;
- private TUCamera.TUCamera m_camera;
- private Label lblGainMin;
- private Label lblGainMax;
- private TrackBar trbGain;
- private TextBox txtGain;
- private Button button1;
- private Button btnAutoExposureOnce;
- private Button button6;
- private Button button7;
- private Label unitLabel;
- private System.Timers.Timer m_Timer;
- #endregion
- public AdjustCameraControl(CameraParamModel model, bool immediately, bool toAddExtraButtons = false)
- {
- m_cameraParamModel = model;
- m_immediately = immediately;
- m_toAddExtraButtons = toAddExtraButtons;
- m_camera = TUCameraManager.GetInstance().GetCurrentCamera();
- InitializeComponent();
- InitializeLanguageText();
- InitColorAdjustRange();
- InitializeControlData();
- }
- public void ResetCameraParamModel(CameraParamModel model)
- {
- m_cameraParamModel = model;
- InitColorAdjustRange();
- InitializeControlData();
- }
- int resolution_width = 2448;
- int resolution_height = 2048;
- private void InitColorAdjustRange()
- {
- if (m_camera.IsOpen())
- {
- // 曝光时间
- double aeMinVal = 0;
- double aeMaxVal = 0;
- double aeDftVal = 0;
- m_camera.GetExposureTimeRange(ref aeMinVal, ref aeMaxVal, ref aeDftVal);
- SetExposureBarRange(aeMinVal, aeMaxVal);
- lblBaoGuangMinVal.Text = ((int)aeMinVal).ToString() + "μs";
- lblBaoGuangMaxVal.Text = UpdateExposureTime((UInt64)aeMaxVal);
- // Get red channel range
- int minVal = 0;
- int maxVal = 0;
- m_camera.GetColorChannelRang(ColorChannel.RED, ref minVal, ref maxVal);
- redChannelTB.SetRange(minVal, maxVal);
- // Get green channel range
- m_camera.GetColorChannelRang(ColorChannel.GREEN, ref minVal, ref maxVal);
- greenChannelTB.SetRange(minVal, maxVal);
- // Get blue channel range
- m_camera.GetColorChannelRang(ColorChannel.BLUE, ref minVal, ref maxVal);
- blueChannelTB.SetRange(minVal, maxVal);
- // Get gain range
- TUCAM_PROP_ATTR attrProp;
- attrProp = m_camera.GetGlobalGainRange();
- trbGain.SetRange((int)attrProp.dbValMin, (int)attrProp.dbValMax);
- lblGainMin.Text = trbGain.Minimum.ToString();
- lblGainMax.Text = trbGain.Maximum.ToString();
- // 饱和度
- minVal = 0;
- maxVal = 0;
- m_camera.GetSaturationRange(ref minVal, ref maxVal);
- baoheduTBar.SetRange(minVal, maxVal);
- lblSaturationMinVal.Text = ((int)minVal).ToString();
- lblSaturationMaxVal.Text = ((int)maxVal).ToString();
- var bitmap = m_camera.OneShoot();
- if (bitmap == null) return;
- showHistImg(BitmapConverter.ToMat(bitmap));
- }
- }
- Mat[] oldHists = new Mat[] { new Mat(), new Mat(), new Mat() };
- private void showHistImg(Mat BoxMat)
- {
- Mat[] mats = Cv2.Split(BoxMat);//一张图片,将panda拆分成3个图片装进mat
- if (mats.Count() == 1)
- {
- Mat[] mats011 = new Mat[] { mats[0] };//panda的第一个通道,也就是B
- int[] channels011 = new int[] { 0 };//一个通道,初始化为通道0,这些东西可以共用设置一个就行
- int[] histsize11 = new int[] { 256 };//一个通道,初始化为256箱子
- Rangef[] range11 = new Rangef[1];//一个通道,范围
- range11[0].Start = 0.0F;//从0开始(含)
- range11[0].End = 256.0F;//到256结束(不含)
- Mat mask11 = new Mat();//不做掩码
- Cv2.CalcHist(mats011, channels011, mask11, oldHists[0], 1, histsize11, range11);//对被拆分的图片单独进行计算
- return;
- }
- Mat[] mats0 = new Mat[] { mats[0] };//panda的第一个通道,也就是B
- Mat[] mats1 = new Mat[] { mats[1] };//panda的第二个通道,也就是G
- Mat[] mats2 = new Mat[] { mats[2] };//panda的第三个通道,也就是R
- int[] channels0 = new int[] { 0 };//一个通道,初始化为通道0,这些东西可以共用设置一个就行
- int[] channels1 = new int[] { 0 };
- int[] channels2 = new int[] { 0 };
- int[] histsize = new int[] { 256 };//一个通道,初始化为256箱子
- Rangef[] range = new Rangef[1];//一个通道,范围
- range[0].Start = 0.0F;//从0开始(含)
- range[0].End = 256.0F;//到256结束(不含)
- Mat mask = new Mat();//不做掩码
- Cv2.CalcHist(mats0, channels0, mask, oldHists[0], 1, histsize, range);//对被拆分的图片单独进行计算
- Cv2.CalcHist(mats1, channels1, mask, oldHists[1], 1, histsize, range);//对被拆分的图片单独进行计算
- Cv2.CalcHist(mats2, channels2, mask, oldHists[2], 1, histsize, range);//对被拆分的图片单独进行计算
- }
- private string UpdateExposureTime(UInt64 exposureTime)
- {
- string str = "";
- int sec = 0;
- int msec = 0;
- int usec = 0;
- m_camera.UpdateExposureTime(ref sec, ref msec, ref usec, exposureTime);
- if (sec > 0)
- {
- str += sec + "s";
- }
- else if (msec > 0)
- {
- str += msec + "ms";
- }
- else if (usec > 0)
- {
- str += usec + "μs";
- }
- return str;
- }
- private void UpdateExposureUI(int autoExposure)
- {
- m_Timer.Enabled = autoExposure == 1;
- if (autoExposure == 1)
- {
- checkBoxAutoExposure.Checked = true;
- ExposureTBar.Enabled = false;
- ExposureBox.Enabled = false;
- trbGain.Enabled = false;
- txtGain.Enabled = false;
- m_camera.SetExposureMode(ExposureMode.AUTO);
- }
- else
- {
- checkBoxAutoExposure.Checked = false;
- ExposureTBar.Enabled = true;
- ExposureBox.Enabled = true;
- trbGain.Enabled = true;
- txtGain.Enabled = true;
- m_camera.SetExposureMode(ExposureMode.MANUAL);
- }
- }
- /// <summary>
- /// 设置下拉等数据源
- /// </summary>
- private void InitializeControlData()
- {
- m_Timer = new System.Timers.Timer(1000);
- m_Timer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimerAutoExposure);
- m_Timer.AutoReset = true;
- m_Timer.SynchronizingObject = this;
- // 曝光时间
- int value = (int)(m_cameraParamModel.parame.LNExposure);
- SetExposureBarValue(value);
- DisplayExposureText(value);
- // 曝光百分比
- value = m_cameraParamModel.parame.Light;
- value = value < 0 ? 0 : value > 255 ? 255 : value;
- lightTBar.Value = value;
- LightBox.Text = value.ToString();
- UpdateExposureUI(m_cameraParamModel.parame.ATExposure);
- // 增益值调整
- int gainValue = m_cameraParamModel.parame.GlobalGain;
- if (gainValue >= this.trbGain.Minimum && gainValue <= this.trbGain.Maximum)
- {
- this.trbGain.Value = gainValue;
- txtGain.Text = gainValue.ToString();
- }
- // 颜色值
- int redChannelValue = (int)m_cameraParamModel.parame.RedChannel;
- if (redChannelValue >= this.redChannelTB.Minimum && redChannelValue <= this.redChannelTB.Maximum)
- {
- this.redChannelTB.Value = redChannelValue;
- }
- int greenChannelValue = (int)m_cameraParamModel.parame.GreenChannel;
- if (greenChannelValue >= this.greenChannelTB.Minimum && greenChannelValue <= this.greenChannelTB.Maximum)
- {
- this.greenChannelTB.Value = greenChannelValue;
- }
- int blueChannelValue = (int)m_cameraParamModel.parame.BlueChannel;
- if (blueChannelValue >= this.blueChannelTB.Minimum && blueChannelValue <= this.blueChannelTB.Maximum)
- {
- this.blueChannelTB.Value = blueChannelValue;
- }
- // 白平衡
- if (m_cameraParamModel.parame.WhiteBalance == 1)
- {
- AutoWhiteBalance(true);
- }
- else
- {
- if (m_cameraParamModel.parame.FMExposure == 1)
- {
- m_camera.SetColorTemperatureByString("3200K");
- }
- else if (m_cameraParamModel.parame.FMExposure == 2)
- {
- m_camera.SetColorTemperatureByString("5500K");
- }
- AutoWhiteBalance(false);
- }
- // 显示颜色值通道
- if (m_cameraParamModel.parame.ShowColorPBoxFlag == 1)
- {
- this.xianshiColourCheckBox.Checked = true;
- }
- else
- {
- this.xianshiColourCheckBox.Checked = false;
- }
- // 饱和度
- int baoheduTBarValue = this.m_cameraParamModel.parame.Saturation;
- if (baoheduTBarValue >= this.baoheduTBar.Minimum && baoheduTBarValue <= this.baoheduTBar.Maximum)
- {
- this.baoheduTBar.Value = this.m_cameraParamModel.parame.Saturation;
- }
- if (m_toAddExtraButtons)
- {
- this.button6.Visible = true;
- this.button7.Visible = true;
- }
- }
- private void InitializeLanguageText()
- {
- this.label5.Text = PdnResources.GetString("Menu.timeofexposure.text") + ":";
- this.groupBox1.Text = PdnResources.GetString("Menu.timeofexposure.text");
- this.btnAutoExposureOnce.Text = PdnResources.GetString("Menu.Oneautomaticexposure.Text");
- this.checkBoxAutoExposure.Text = PdnResources.GetString("Menu.auto-exposure.text");
- this.label6.Text = PdnResources.GetString("Menu.Exposurepercentage.text") + ":";
- this.groupBox2.Text = PdnResources.GetString("Menu.Gainvalueadjustment.text");
- this.groupBox3.Text = PdnResources.GetString("Menu.Image.WhiteBalance.Text");
- this.button1.Text = PdnResources.GetString("Menu.Primarywhitebalance.Text");
- this.label12.Text = PdnResources.GetString("Menu.Blue.text");
- this.label11.Text = PdnResources.GetString("Menu.green.text");
- this.label10.Text = PdnResources.GetString("Menu.red.text");
- this.label9.Text = PdnResources.GetString("Menu.yellow.text");
- this.label8.Text = PdnResources.GetString("Menu.Magenta.text");
- this.label7.Text = PdnResources.GetString("Menu.aqua.text");
- this.xianshiColourCheckBox.Text = PdnResources.GetString("Menu.Displaycolorvaluechannel.text");
- this.button3.Text = PdnResources.GetString("Menu.auto.text");
- this.button2.Text = PdnResources.GetString("Menu.Manual.text");
- this.groupBox4.Text = PdnResources.GetString("Menu.Colorandsaturation.Text");
- this.label13.Text = PdnResources.GetString("Menu.saturation.text") + ":";
- }
- private void InitializeComponent()
- {
- this.label5 = new System.Windows.Forms.Label();
- this.lightTBar = new System.Windows.Forms.TrackBar();
- this.ExposureTBar = new System.Windows.Forms.TrackBar();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.unitLabel = new System.Windows.Forms.Label();
- this.btnAutoExposureOnce = new System.Windows.Forms.Button();
- this.checkBoxAutoExposure = new System.Windows.Forms.CheckBox();
- this.ExposureBox = new System.Windows.Forms.TextBox();
- this.LightBox = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.lblBaoGuangMaxVal = new System.Windows.Forms.Label();
- this.lblBaoGuangMinVal = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.txtGain = new System.Windows.Forms.TextBox();
- this.lblGainMin = new System.Windows.Forms.Label();
- this.lblGainMax = new System.Windows.Forms.Label();
- this.trbGain = new System.Windows.Forms.TrackBar();
- this.groupBox3 = new System.Windows.Forms.GroupBox();
- this.button6 = new System.Windows.Forms.Button();
- this.button7 = new System.Windows.Forms.Button();
- this.button1 = new System.Windows.Forms.Button();
- this.lansepictureBox = new System.Windows.Forms.PictureBox();
- this.huangsepictureBox = new System.Windows.Forms.PictureBox();
- this.lvsepictureBox = new System.Windows.Forms.PictureBox();
- this.yanghongsepictureBox = new System.Windows.Forms.PictureBox();
- this.hongsepictureBox = new System.Windows.Forms.PictureBox();
- this.lanlvpictureBox = new System.Windows.Forms.PictureBox();
- this.label12 = new System.Windows.Forms.Label();
- this.label11 = new System.Windows.Forms.Label();
- this.label10 = new System.Windows.Forms.Label();
- this.blueChannelTB = new System.Windows.Forms.TrackBar();
- this.label9 = new System.Windows.Forms.Label();
- this.label8 = new System.Windows.Forms.Label();
- this.greenChannelTB = new System.Windows.Forms.TrackBar();
- this.label7 = new System.Windows.Forms.Label();
- this.redChannelTB = new System.Windows.Forms.TrackBar();
- this.xianshiColourCheckBox = new System.Windows.Forms.CheckBox();
- this.button5 = new System.Windows.Forms.Button();
- this.button4 = new System.Windows.Forms.Button();
- this.button3 = new System.Windows.Forms.Button();
- this.button2 = new System.Windows.Forms.Button();
- this.groupBox4 = new System.Windows.Forms.GroupBox();
- this.lblSaturationMinVal = new System.Windows.Forms.Label();
- this.baoheduTBox = new System.Windows.Forms.TextBox();
- this.label13 = new System.Windows.Forms.Label();
- this.lblSaturationMaxVal = new System.Windows.Forms.Label();
- this.baoheduTBar = new System.Windows.Forms.TrackBar();
- ((System.ComponentModel.ISupportInitialize)(this.lightTBar)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.ExposureTBar)).BeginInit();
- this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.trbGain)).BeginInit();
- this.groupBox3.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.lansepictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.huangsepictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.lvsepictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.yanghongsepictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.hongsepictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.lanlvpictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.blueChannelTB)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.greenChannelTB)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.redChannelTB)).BeginInit();
- this.groupBox4.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.baoheduTBar)).BeginInit();
- this.SuspendLayout();
- //
- // label5
- //
- this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(18, 31);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(59, 12);
- this.label5.TabIndex = 12;
- this.label5.Text = "曝光时间:";
- //
- // lightTBar
- //
- this.lightTBar.Location = new System.Drawing.Point(89, 66);
- this.lightTBar.Maximum = 255;
- this.lightTBar.Name = "lightTBar";
- this.lightTBar.Size = new System.Drawing.Size(274, 45);
- this.lightTBar.TabIndex = 13;
- this.lightTBar.TickStyle = System.Windows.Forms.TickStyle.None;
- this.lightTBar.Value = 64;
- this.lightTBar.Scroll += new System.EventHandler(this.Light_ValueChanged);
- //
- // ExposureTBar
- //
- this.ExposureTBar.Location = new System.Drawing.Point(89, 31);
- this.ExposureTBar.Maximum = 148;
- this.ExposureTBar.Name = "ExposureTBar";
- this.ExposureTBar.Size = new System.Drawing.Size(274, 45);
- this.ExposureTBar.TabIndex = 14;
- this.ExposureTBar.TickStyle = System.Windows.Forms.TickStyle.None;
- this.ExposureTBar.Scroll += new System.EventHandler(this.Exposure_ValueChanged);
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.unitLabel);
- this.groupBox1.Controls.Add(this.btnAutoExposureOnce);
- this.groupBox1.Controls.Add(this.checkBoxAutoExposure);
- this.groupBox1.Controls.Add(this.ExposureBox);
- this.groupBox1.Controls.Add(this.LightBox);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.lblBaoGuangMaxVal);
- this.groupBox1.Controls.Add(this.lblBaoGuangMinVal);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Controls.Add(this.lightTBar);
- this.groupBox1.Controls.Add(this.ExposureTBar);
- this.groupBox1.Location = new System.Drawing.Point(13, 14);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(464, 154);
- this.groupBox1.TabIndex = 15;
- this.groupBox1.TabStop = false;
- this.groupBox1.Text = "曝光时间";
- //
- // unitLabel
- //
- this.unitLabel.AutoSize = true;
- this.unitLabel.Location = new System.Drawing.Point(429, 37);
- this.unitLabel.Name = "unitLabel";
- this.unitLabel.Size = new System.Drawing.Size(41, 12);
- this.unitLabel.TabIndex = 37;
- this.unitLabel.Text = "label1";
- //
- // btnAutoExposureOnce
- //
- this.btnAutoExposureOnce.Location = new System.Drawing.Point(122, 111);
- this.btnAutoExposureOnce.Margin = new System.Windows.Forms.Padding(2);
- this.btnAutoExposureOnce.Name = "btnAutoExposureOnce";
- this.btnAutoExposureOnce.Size = new System.Drawing.Size(102, 25);
- this.btnAutoExposureOnce.TabIndex = 36;
- this.btnAutoExposureOnce.Text = "一次自动曝光";
- this.btnAutoExposureOnce.UseVisualStyleBackColor = true;
- this.btnAutoExposureOnce.Click += new System.EventHandler(this.btnAutoExposureOnce_Click);
- //
- // checkBoxAutoExposure
- //
- this.checkBoxAutoExposure.AutoSize = true;
- this.checkBoxAutoExposure.Location = new System.Drawing.Point(21, 117);
- this.checkBoxAutoExposure.Margin = new System.Windows.Forms.Padding(2);
- this.checkBoxAutoExposure.Name = "checkBoxAutoExposure";
- this.checkBoxAutoExposure.Size = new System.Drawing.Size(72, 16);
- this.checkBoxAutoExposure.TabIndex = 34;
- this.checkBoxAutoExposure.Text = "自动曝光";
- this.checkBoxAutoExposure.UseVisualStyleBackColor = true;
- this.checkBoxAutoExposure.Click += new System.EventHandler(this.checkBoxAutoExposure_CheckedChanged);
- //
- // ExposureBox
- //
- this.ExposureBox.Location = new System.Drawing.Point(370, 31);
- this.ExposureBox.Name = "ExposureBox";
- this.ExposureBox.Size = new System.Drawing.Size(55, 21);
- this.ExposureBox.TabIndex = 31;
- this.ExposureBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.baoGuangTBox_KeyPress);
- //
- // LightBox
- //
- this.LightBox.Location = new System.Drawing.Point(371, 66);
- this.LightBox.Name = "LightBox";
- this.LightBox.Size = new System.Drawing.Size(55, 21);
- this.LightBox.TabIndex = 30;
- this.LightBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.baoGuangPertBox_KeyPress);
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(327, 91);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(23, 12);
- this.label3.TabIndex = 22;
- this.label3.Text = "255";
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(93, 91);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(11, 12);
- this.label4.TabIndex = 21;
- this.label4.Text = "0";
- //
- // lblBaoGuangMaxVal
- //
- this.lblBaoGuangMaxVal.AutoSize = true;
- this.lblBaoGuangMaxVal.Location = new System.Drawing.Point(321, 53);
- this.lblBaoGuangMaxVal.Name = "lblBaoGuangMaxVal";
- this.lblBaoGuangMaxVal.Size = new System.Drawing.Size(35, 12);
- this.lblBaoGuangMaxVal.TabIndex = 20;
- this.lblBaoGuangMaxVal.Text = "1000s";
- //
- // lblBaoGuangMinVal
- //
- this.lblBaoGuangMinVal.AutoSize = true;
- this.lblBaoGuangMinVal.Location = new System.Drawing.Point(93, 53);
- this.lblBaoGuangMinVal.Name = "lblBaoGuangMinVal";
- this.lblBaoGuangMinVal.Size = new System.Drawing.Size(41, 12);
- this.lblBaoGuangMinVal.TabIndex = 19;
- this.lblBaoGuangMinVal.Text = "250μs";
- //
- // label6
- //
- this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(18, 66);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(35, 12);
- this.label6.TabIndex = 15;
- this.label6.Text = "亮度:";
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.txtGain);
- this.groupBox2.Controls.Add(this.lblGainMin);
- this.groupBox2.Controls.Add(this.lblGainMax);
- this.groupBox2.Controls.Add(this.trbGain);
- this.groupBox2.Location = new System.Drawing.Point(13, 182);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(464, 84);
- this.groupBox2.TabIndex = 16;
- this.groupBox2.TabStop = false;
- this.groupBox2.Text = "增益值调整";
- //
- // txtGain
- //
- this.txtGain.Location = new System.Drawing.Point(369, 21);
- this.txtGain.Name = "txtGain";
- this.txtGain.Size = new System.Drawing.Size(55, 21);
- this.txtGain.TabIndex = 36;
- this.txtGain.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtGain_KeyPress);
- //
- // lblGainMin
- //
- this.lblGainMin.AutoSize = true;
- this.lblGainMin.Location = new System.Drawing.Point(97, 54);
- this.lblGainMin.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.lblGainMin.Name = "lblGainMin";
- this.lblGainMin.Size = new System.Drawing.Size(11, 12);
- this.lblGainMin.TabIndex = 17;
- this.lblGainMin.Text = "0";
- //
- // lblGainMax
- //
- this.lblGainMax.AutoSize = true;
- this.lblGainMax.Location = new System.Drawing.Point(340, 54);
- this.lblGainMax.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
- this.lblGainMax.Name = "lblGainMax";
- this.lblGainMax.Size = new System.Drawing.Size(23, 12);
- this.lblGainMax.TabIndex = 16;
- this.lblGainMax.Text = "255";
- //
- // trbGain
- //
- this.trbGain.Location = new System.Drawing.Point(89, 21);
- this.trbGain.Maximum = 255;
- this.trbGain.Name = "trbGain";
- this.trbGain.Size = new System.Drawing.Size(280, 45);
- this.trbGain.TabIndex = 15;
- this.trbGain.TickStyle = System.Windows.Forms.TickStyle.None;
- this.trbGain.Value = 10;
- this.trbGain.Scroll += new System.EventHandler(this.trbGain_ValueChanged);
- this.trbGain.ValueChanged += new System.EventHandler(this.trbGain_ValueChanged);
- //
- // groupBox3
- //
- this.groupBox3.Controls.Add(this.button6);
- this.groupBox3.Controls.Add(this.button7);
- this.groupBox3.Controls.Add(this.button1);
- this.groupBox3.Controls.Add(this.lansepictureBox);
- this.groupBox3.Controls.Add(this.huangsepictureBox);
- this.groupBox3.Controls.Add(this.lvsepictureBox);
- this.groupBox3.Controls.Add(this.yanghongsepictureBox);
- this.groupBox3.Controls.Add(this.hongsepictureBox);
- this.groupBox3.Controls.Add(this.lanlvpictureBox);
- this.groupBox3.Controls.Add(this.label12);
- this.groupBox3.Controls.Add(this.label11);
- this.groupBox3.Controls.Add(this.label10);
- this.groupBox3.Controls.Add(this.blueChannelTB);
- this.groupBox3.Controls.Add(this.label9);
- this.groupBox3.Controls.Add(this.label8);
- this.groupBox3.Controls.Add(this.greenChannelTB);
- this.groupBox3.Controls.Add(this.label7);
- this.groupBox3.Controls.Add(this.redChannelTB);
- this.groupBox3.Controls.Add(this.xianshiColourCheckBox);
- this.groupBox3.Controls.Add(this.button5);
- this.groupBox3.Controls.Add(this.button4);
- this.groupBox3.Controls.Add(this.button3);
- this.groupBox3.Controls.Add(this.button2);
- this.groupBox3.Location = new System.Drawing.Point(13, 283);
- this.groupBox3.Name = "groupBox3";
- this.groupBox3.Size = new System.Drawing.Size(464, 211);
- this.groupBox3.TabIndex = 17;
- this.groupBox3.TabStop = false;
- this.groupBox3.Text = "白平衡";
- //
- // button6
- //
- this.button6.Location = new System.Drawing.Point(105, 58);
- this.button6.Name = "button6";
- this.button6.Size = new System.Drawing.Size(75, 23);
- this.button6.TabIndex = 39;
- this.button6.Text = "原图取色";
- this.button6.UseVisualStyleBackColor = true;
- this.button6.Visible = false;
- this.button6.Click += new System.EventHandler(this.button6_Click);
- //
- // button7
- //
- this.button7.Location = new System.Drawing.Point(20, 58);
- this.button7.Name = "button7";
- this.button7.Size = new System.Drawing.Size(75, 23);
- this.button7.TabIndex = 38;
- this.button7.Text = "区域选择";
- this.button7.UseVisualStyleBackColor = true;
- this.button7.Visible = false;
- this.button7.Click += new System.EventHandler(this.button7_Click);
- //
- // button1
- //
- this.button1.Location = new System.Drawing.Point(191, 29);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(75, 23);
- this.button1.TabIndex = 37;
- this.button1.Text = "一次白平衡";
- this.button1.UseVisualStyleBackColor = true;
- this.button1.Click += new System.EventHandler(this.button1_Click);
- //
- // lansepictureBox
- //
- this.lansepictureBox.BackColor = System.Drawing.Color.Blue;
- this.lansepictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.lansepictureBox.Location = new System.Drawing.Point(412, 175);
- this.lansepictureBox.Name = "lansepictureBox";
- this.lansepictureBox.Size = new System.Drawing.Size(12, 12);
- this.lansepictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.lansepictureBox.TabIndex = 36;
- this.lansepictureBox.TabStop = false;
- //
- // huangsepictureBox
- //
- this.huangsepictureBox.BackColor = System.Drawing.Color.Yellow;
- this.huangsepictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.huangsepictureBox.Location = new System.Drawing.Point(33, 175);
- this.huangsepictureBox.Name = "huangsepictureBox";
- this.huangsepictureBox.Size = new System.Drawing.Size(12, 12);
- this.huangsepictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.huangsepictureBox.TabIndex = 35;
- this.huangsepictureBox.TabStop = false;
- //
- // lvsepictureBox
- //
- this.lvsepictureBox.BackColor = System.Drawing.Color.Lime;
- this.lvsepictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.lvsepictureBox.Location = new System.Drawing.Point(412, 145);
- this.lvsepictureBox.Name = "lvsepictureBox";
- this.lvsepictureBox.Size = new System.Drawing.Size(12, 12);
- this.lvsepictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.lvsepictureBox.TabIndex = 34;
- this.lvsepictureBox.TabStop = false;
- //
- // yanghongsepictureBox
- //
- this.yanghongsepictureBox.BackColor = System.Drawing.Color.Fuchsia;
- this.yanghongsepictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.yanghongsepictureBox.Location = new System.Drawing.Point(33, 145);
- this.yanghongsepictureBox.Name = "yanghongsepictureBox";
- this.yanghongsepictureBox.Size = new System.Drawing.Size(12, 12);
- this.yanghongsepictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.yanghongsepictureBox.TabIndex = 33;
- this.yanghongsepictureBox.TabStop = false;
- //
- // hongsepictureBox
- //
- this.hongsepictureBox.BackColor = System.Drawing.Color.Red;
- this.hongsepictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.hongsepictureBox.Location = new System.Drawing.Point(412, 116);
- this.hongsepictureBox.Name = "hongsepictureBox";
- this.hongsepictureBox.Size = new System.Drawing.Size(12, 12);
- this.hongsepictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.hongsepictureBox.TabIndex = 32;
- this.hongsepictureBox.TabStop = false;
- //
- // lanlvpictureBox
- //
- this.lanlvpictureBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
- this.lanlvpictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.lanlvpictureBox.Location = new System.Drawing.Point(33, 116);
- this.lanlvpictureBox.Name = "lanlvpictureBox";
- this.lanlvpictureBox.Size = new System.Drawing.Size(12, 12);
- this.lanlvpictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.lanlvpictureBox.TabIndex = 31;
- this.lanlvpictureBox.TabStop = false;
- //
- // label12
- //
- this.label12.AutoSize = true;
- this.label12.Location = new System.Drawing.Point(368, 175);
- this.label12.Name = "label12";
- this.label12.Size = new System.Drawing.Size(29, 12);
- this.label12.TabIndex = 30;
- this.label12.Text = "蓝色";
- //
- // label11
- //
- this.label11.AutoSize = true;
- this.label11.Location = new System.Drawing.Point(368, 145);
- this.label11.Name = "label11";
- this.label11.Size = new System.Drawing.Size(29, 12);
- this.label11.TabIndex = 29;
- this.label11.Text = "绿色";
- //
- // label10
- //
- this.label10.AutoSize = true;
- this.label10.Location = new System.Drawing.Point(368, 116);
- this.label10.Name = "label10";
- this.label10.Size = new System.Drawing.Size(29, 12);
- this.label10.TabIndex = 28;
- this.label10.Text = "红色";
- //
- // blueChannelTB
- //
- this.blueChannelTB.Location = new System.Drawing.Point(104, 175);
- this.blueChannelTB.Maximum = 1366;
- this.blueChannelTB.Name = "blueChannelTB";
- this.blueChannelTB.Size = new System.Drawing.Size(246, 45);
- this.blueChannelTB.TabIndex = 27;
- this.blueChannelTB.TickStyle = System.Windows.Forms.TickStyle.None;
- this.blueChannelTB.ValueChanged += new System.EventHandler(this.blueChannelTB_ValueChanged);
- //
- // label9
- //
- this.label9.AutoSize = true;
- this.label9.Location = new System.Drawing.Point(58, 175);
- this.label9.Name = "label9";
- this.label9.Size = new System.Drawing.Size(29, 12);
- this.label9.TabIndex = 26;
- this.label9.Text = "黄色";
- //
- // label8
- //
- this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(58, 145);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(29, 12);
- this.label8.TabIndex = 25;
- this.label8.Text = "洋红";
- //
- // greenChannelTB
- //
- this.greenChannelTB.Location = new System.Drawing.Point(104, 145);
- this.greenChannelTB.Maximum = 1366;
- this.greenChannelTB.Name = "greenChannelTB";
- this.greenChannelTB.Size = new System.Drawing.Size(246, 45);
- this.greenChannelTB.TabIndex = 24;
- this.greenChannelTB.TickStyle = System.Windows.Forms.TickStyle.None;
- this.greenChannelTB.Scroll += new System.EventHandler(this.greenChannelTB_Scroll);
- //
- // label7
- //
- this.label7.AutoSize = true;
- this.label7.Location = new System.Drawing.Point(58, 116);
- this.label7.Name = "label7";
- this.label7.Size = new System.Drawing.Size(29, 12);
- this.label7.TabIndex = 23;
- this.label7.Text = "青色";
- //
- // redChannelTB
- //
- this.redChannelTB.Location = new System.Drawing.Point(104, 116);
- this.redChannelTB.Maximum = 1366;
- this.redChannelTB.Name = "redChannelTB";
- this.redChannelTB.Size = new System.Drawing.Size(246, 45);
- this.redChannelTB.TabIndex = 22;
- this.redChannelTB.TickStyle = System.Windows.Forms.TickStyle.None;
- this.redChannelTB.ValueChanged += new System.EventHandler(this.redChannelTB_ValueChanged);
- //
- // xianshiColourCheckBox
- //
- this.xianshiColourCheckBox.AutoSize = true;
- this.xianshiColourCheckBox.Checked = true;
- this.xianshiColourCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
- this.xianshiColourCheckBox.Location = new System.Drawing.Point(20, 87);
- this.xianshiColourCheckBox.Name = "xianshiColourCheckBox";
- this.xianshiColourCheckBox.Size = new System.Drawing.Size(108, 16);
- this.xianshiColourCheckBox.TabIndex = 21;
- this.xianshiColourCheckBox.Text = "显示颜色值通道";
- this.xianshiColourCheckBox.UseVisualStyleBackColor = true;
- this.xianshiColourCheckBox.CheckedChanged += new System.EventHandler(this.xianshiColourCheckBox_CheckedChanged);
- //
- // button5
- //
- this.button5.Location = new System.Drawing.Point(362, 29);
- this.button5.Name = "button5";
- this.button5.Size = new System.Drawing.Size(75, 23);
- this.button5.TabIndex = 20;
- this.button5.Text = "5500K";
- this.button5.UseVisualStyleBackColor = true;
- this.button5.Click += new System.EventHandler(this.button5_Click);
- //
- // button4
- //
- this.button4.Location = new System.Drawing.Point(277, 29);
- this.button4.Name = "button4";
- this.button4.Size = new System.Drawing.Size(75, 23);
- this.button4.TabIndex = 19;
- this.button4.Text = "3200K";
- this.button4.UseVisualStyleBackColor = true;
- this.button4.Click += new System.EventHandler(this.button4_Click);
- //
- // button3
- //
- this.button3.Location = new System.Drawing.Point(106, 29);
- this.button3.Name = "button3";
- this.button3.Size = new System.Drawing.Size(75, 23);
- this.button3.TabIndex = 18;
- this.button3.Text = "自动";
- this.button3.UseVisualStyleBackColor = true;
- this.button3.Click += new System.EventHandler(this.button3_Click);
- //
- // button2
- //
- this.button2.Location = new System.Drawing.Point(20, 29);
- this.button2.Name = "button2";
- this.button2.Size = new System.Drawing.Size(75, 23);
- this.button2.TabIndex = 17;
- this.button2.Text = "手动";
- this.button2.UseVisualStyleBackColor = true;
- this.button2.Click += new System.EventHandler(this.button2_Click);
- //
- // groupBox4
- //
- this.groupBox4.Controls.Add(this.lblSaturationMinVal);
- this.groupBox4.Controls.Add(this.baoheduTBox);
- this.groupBox4.Controls.Add(this.label13);
- this.groupBox4.Controls.Add(this.lblSaturationMaxVal);
- this.groupBox4.Controls.Add(this.baoheduTBar);
- this.groupBox4.Location = new System.Drawing.Point(13, 510);
- this.groupBox4.Name = "groupBox4";
- this.groupBox4.Size = new System.Drawing.Size(464, 81);
- this.groupBox4.TabIndex = 18;
- this.groupBox4.TabStop = false;
- this.groupBox4.Text = "色彩和饱和度";
- //
- // lblSaturationMinVal
- //
- this.lblSaturationMinVal.AutoSize = true;
- this.lblSaturationMinVal.Location = new System.Drawing.Point(99, 53);
- this.lblSaturationMinVal.Name = "lblSaturationMinVal";
- this.lblSaturationMinVal.Size = new System.Drawing.Size(29, 12);
- this.lblSaturationMinVal.TabIndex = 33;
- this.lblSaturationMinVal.Text = "-1.0";
- //
- // baoheduTBox
- //
- this.baoheduTBox.Location = new System.Drawing.Point(389, 28);
- this.baoheduTBox.Name = "baoheduTBox";
- this.baoheduTBox.Size = new System.Drawing.Size(55, 21);
- this.baoheduTBox.TabIndex = 35;
- this.baoheduTBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.baoheduTBox_KeyPress);
- //
- // label13
- //
- this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(18, 28);
- this.label13.Name = "label13";
- this.label13.Size = new System.Drawing.Size(53, 12);
- this.label13.TabIndex = 24;
- this.label13.Text = "饱和度:";
- //
- // lblSaturationMaxVal
- //
- this.lblSaturationMaxVal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.lblSaturationMaxVal.AutoSize = true;
- this.lblSaturationMaxVal.Location = new System.Drawing.Point(333, 53);
- this.lblSaturationMaxVal.Name = "lblSaturationMaxVal";
- this.lblSaturationMaxVal.RightToLeft = System.Windows.Forms.RightToLeft.No;
- this.lblSaturationMaxVal.Size = new System.Drawing.Size(23, 12);
- this.lblSaturationMaxVal.TabIndex = 34;
- this.lblSaturationMaxVal.Text = "1.0";
- this.lblSaturationMaxVal.TextAlign = System.Drawing.ContentAlignment.TopRight;
- //
- // baoheduTBar
- //
- this.baoheduTBar.Location = new System.Drawing.Point(95, 28);
- this.baoheduTBar.Maximum = 20;
- this.baoheduTBar.Name = "baoheduTBar";
- this.baoheduTBar.Size = new System.Drawing.Size(274, 45);
- this.baoheduTBar.TabIndex = 32;
- this.baoheduTBar.TickStyle = System.Windows.Forms.TickStyle.None;
- this.baoheduTBar.Value = 10;
- this.baoheduTBar.ValueChanged += new System.EventHandler(this.baoheduTBar_ValueChanged);
- this.baoheduTBar.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.TBar_MouseWheel);
- //
- // AdjustCameraControl
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.groupBox4);
- this.Controls.Add(this.groupBox3);
- this.Controls.Add(this.groupBox2);
- this.Controls.Add(this.groupBox1);
- this.Name = "AdjustCameraControl";
- this.Size = new System.Drawing.Size(490, 605);
- ((System.ComponentModel.ISupportInitialize)(this.lightTBar)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.ExposureTBar)).EndInit();
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.trbGain)).EndInit();
- this.groupBox3.ResumeLayout(false);
- this.groupBox3.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.lansepictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.huangsepictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.lvsepictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.yanghongsepictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.hongsepictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.lanlvpictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.blueChannelTB)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.greenChannelTB)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.redChannelTB)).EndInit();
- this.groupBox4.ResumeLayout(false);
- this.groupBox4.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.baoheduTBar)).EndInit();
- this.ResumeLayout(false);
- }
- private void TBar_MouseWheel(object sender, MouseEventArgs e)
- {
- ((HandledMouseEventArgs)e).Handled = true;
- }
- private bool m_autoExposureComplete;
- private int m_exposureTimes = 0;
- private double m_exposureValue;
- protected override void Dispose(bool disposing = true)
- {
- m_Timer.Stop();
- base.Dispose(disposing);
- }
- /// <summary>
- /// 手动白平衡
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button2_Click(object sender, EventArgs e)
- {
- m_cameraParamModel.parame.FMExposure = 0;
- AutoWhiteBalance(false);
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- }
- /// <summary>
- /// 自动白平衡按钮点击
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button3_Click(object sender, EventArgs e)
- {
- AutoWhiteBalance(true);
- Thread.Sleep(1500);
- UpdateColorTemperature();
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- }
- /// <summary>
- /// 自动白平衡一次
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button1_Click(object sender, EventArgs e)
- {
- AutoWhiteBalance(true);
- new Task(() =>
- {
- Thread.Sleep(1500);
- m_cameraParamModel.parame.FMExposure = 0;
- AutoWhiteBalance(false);
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- }).Start();
- }
- /// <summary>
- /// 色温3200K
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button4_Click(object sender, EventArgs e)
- {
- m_cameraParamModel.parame.FMExposure = 1;
- m_camera.SetColorTemperatureByString("3200K");
- AutoWhiteBalance(false);
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- }
- /// <summary>
- /// 色温5500K
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button5_Click(object sender, EventArgs e)
- {
- m_cameraParamModel.parame.FMExposure = 2;
- m_camera.SetColorTemperatureByString("5500K");
- AutoWhiteBalance(false);
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- }
- private void UpdateColorTemperature()
- {
- button2.Enabled = true;
- button3.Enabled = true;
- button4.Enabled = true;
- button5.Enabled = true;
- uint cct = 0;
- double redChannel = 0;
- double greenChannel = 0;
- double blueChannel = 0;
- m_camera.GetColorTemperature(ref redChannel, ref greenChannel, ref blueChannel, ref cct);
- m_cameraParamModel.parame.RedChannel = redChannel;
- m_cameraParamModel.parame.GreenChannel = greenChannel;
- m_cameraParamModel.parame.BlueChannel = blueChannel;
- // 颜色值
- this.redChannelTB.Value = (int)m_cameraParamModel.parame.RedChannel;
- this.greenChannelTB.Value = (int)m_cameraParamModel.parame.GreenChannel;
- this.blueChannelTB.Value = (int)m_cameraParamModel.parame.BlueChannel;
- //string colorTemperatureString = m_camera.GetColorTemperatureString(cct);
- this.redChannelTB.Enabled = false;
- this.greenChannelTB.Enabled = false;
- this.blueChannelTB.Enabled = false;
- if (m_cameraParamModel.parame.WhiteBalance == 1)
- {
- button3.Enabled = false;
- }
- else
- {
- switch (m_cameraParamModel.parame.FMExposure)
- {
- case 0:
- button2.Enabled = false;
- this.redChannelTB.Enabled = true;
- this.greenChannelTB.Enabled = true;
- this.blueChannelTB.Enabled = true;
- break;
- case 1:
- button4.Enabled = false;
- break;
- case 2:
- button5.Enabled = false;
- break;
- }
- }
- xianshiColourCheckBox.Focus();
- }
- /// <summary>
- /// 是否自动白平衡 修改显示样式
- /// </summary>
- /// <param name="s"></param>
- private void AutoWhiteBalance(Boolean isWhiteBalance)
- {
- if (isWhiteBalance)
- {
- this.redChannelTB.Enabled = false;
- this.greenChannelTB.Enabled = false;
- this.blueChannelTB.Enabled = false;
- m_cameraParamModel.parame.WhiteBalance = 1;
- if (m_immediately)
- {
- // 自动白平衡
- m_camera.SetWhiteBalanceMode(WhiteBalanceMode.AUTO);
- }
- }
- else
- {
- m_cameraParamModel.parame.WhiteBalance = 0;
- if (m_immediately)
- {
- // 手动白平衡
- m_camera.SetWhiteBalanceMode(WhiteBalanceMode.MANUAL);
- }
- }
- UpdateColorTemperature();
- }
- #region 曝光
- double _log = 1.1;
- int _min;
- int _max;
- private int GetExposureBarValue()
- {
- var value = ExposureTBar.Value;
- if (ExposureTBar.Value == ExposureTBar.Minimum) return _min;
- if (ExposureTBar.Value == ExposureTBar.Maximum) return _max;
- return (int)Math.Pow(_log, value);
- }
- private void SetExposureBarValue(double value)
- {
- var ival = (int)Math.Log(Math.Max(_min, value), _log);
- ExposureTBar.Value = Math.Min(ival, ExposureTBar.Maximum);
- }
- private void SetExposureBarRange(double min, double max)
- {
- _min = (int)min;
- ExposureTBar.Minimum = (int)Math.Log(min, _log);
- _max = (int)max;
- ExposureTBar.Maximum = (int)Math.Log(max, _log); ;
- }
- public void OnTimerAutoExposure(object source, System.Timers.ElapsedEventArgs e)
- {
- if (m_autoExposureOnce)
- {
- m_autoExposureComplete = true;
- m_autoExposureOnce = false;
- ExposureTBar.Enabled = true;
- ExposureBox.Enabled = true;
- trbGain.Enabled = true;
- txtGain.Enabled = true;
- m_camera.SetExposureMode(ExposureMode.MANUAL);
- m_Timer.Stop();
- }
- else if (!checkBoxAutoExposure.Checked)
- {
- return;
- }
- double us = m_camera.GetExposureTime() * 1000;
- SetExposureBarValue(us);
- DisplayExposureText((int)us);
- }
- /// <summary>
- /// 曝光百分比滑块滑动事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Light_ValueChanged(object sender, System.EventArgs e)
- {
- m_camera.Light = lightTBar.Value;
- m_cameraParamModel.parame.Light = lightTBar.Value;
- LightBox.Text = lightTBar.Value + "";
- }
- /// <summary>
- /// 曝光时间滑块滑动事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Exposure_ValueChanged(object sender, System.EventArgs e)
- {
- int exposureTimeUSec = GetExposureBarValue();
- this.m_cameraParamModel.parame.LNExposure = exposureTimeUSec;
- DisplayExposureText(exposureTimeUSec);
- m_camera.SetExposureTime((ulong)(exposureTimeUSec));
- }
- private void checkBoxAutoExposure_CheckedChanged(object sender, EventArgs e)
- {
- int autoExposure = checkBoxAutoExposure.Checked ? 1 : 0;
- m_cameraParamModel.parame.ATExposure = autoExposure;
- if (autoExposure == 0)
- {
- Light_ValueChanged(null, null);
- }
- else
- {
- m_autoExposureOnce = false;
- }
- UpdateExposureUI(autoExposure);
- }
- private bool m_autoExposureOnce;
- /// <summary>
- /// 一次自动曝光
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btnAutoExposureOnce_Click(object sender, EventArgs e)
- {
- if (m_autoExposureComplete && checkBoxAutoExposure.Checked)
- {
- checkBoxAutoExposure.Checked = false;
- }
- else
- {
- if (checkBoxAutoExposure.Checked)
- {
- checkBoxAutoExposure.Checked = false;
- }
- m_autoExposureOnce = true;
- UpdateExposureOnceUI();
- }
- }
- private void UpdateExposureOnceUI()
- {
- m_autoExposureComplete = false;
- ExposureTBar.Enabled = false;
- ExposureBox.Enabled = false;
- trbGain.Enabled = false;
- txtGain.Enabled = false;
- //lightTBar.Value = 64;
- //Light_ValueChanged(null, null);
- // 设置到相机
- if (m_immediately)
- {
- // 自动曝光
- m_camera.SetExposureMode(ExposureMode.AUTO);
- m_Timer.Start();
- }
- }
- /// <summary>
- /// 曝光时间内容输入后校验
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void baoGuangTBox_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && (e.KeyChar != (char)Keys.Enter) && (e.KeyChar != (char)Keys.Back)) // 非数字键, 放弃该输入
- {
- e.Handled = true;
- return;
- }
- if (e.KeyChar == (char)Keys.Enter)
- {
- try
- {
- double value = Convert.ToDouble(ExposureBox.Text);
- switch (unitLabel.Text)
- {
- case "s":
- value = value * 1000 * 1000;
- break;
- case "ms":
- value = value * 1000;
- break;
- }
- SetExposureBarValue(value);
- Exposure_ValueChanged(null, null);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- private void DisplayExposureText(int exposureTimeUSec)
- {
- decimal txtVale = 0;
- int sec = 0;
- int msec = 0;
- int usec = 0;
- m_camera.UpdateExposureTime(ref sec, ref msec, ref usec, (UInt64)exposureTimeUSec);
- if (sec > 0)
- {
- this.unitLabel.Text = "s";
- txtVale += sec;
- }
- if (msec > 0)
- {
- if (txtVale > 0)
- {
- txtVale += ((decimal)msec / 1000);
- this.unitLabel.Text = "s";
- usec = 0; // 微秒舍掉不显示了
- }
- else
- {
- this.unitLabel.Text = "ms";
- txtVale += msec;
- }
- }
- if (usec > 0)
- {
- if (txtVale > 0)
- {
- txtVale += ((decimal)usec / 1000);
- }
- else
- {
- this.unitLabel.Text = "μs";
- txtVale = usec;
- }
- }
- this.ExposureBox.Text = txtVale.ToString();
- }
- #endregion
- /// <summary>
- /// 饱和度滑块滑动
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void baoheduTBar_ValueChanged(object sender, System.EventArgs e)
- {
- this.m_cameraParamModel.parame.Saturation = this.baoheduTBar.Value;
- //this.baoheduTBox.Text = ((this.baoheduTBar.Value - 10) / 10.0).ToString("0.0");
- this.baoheduTBox.Text = this.baoheduTBar.Value.ToString();
- // 设置到相机
- if (m_immediately)
- {
- m_camera.SetSaturation(this.m_cameraParamModel.parame.Saturation); //usec
- }
- }
- /// <summary>
- /// 显示颜色通道值
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void xianshiColourCheckBox_CheckedChanged(object sender, EventArgs e)
- {
- CheckBox cb = (CheckBox)sender;
- this.yanghongsepictureBox.Visible = cb.Checked;
- this.yanghongsepictureBox.Visible = cb.Checked; ;
- this.lansepictureBox.Visible = cb.Checked;
- this.hongsepictureBox.Visible = cb.Checked;
- this.lansepictureBox.Visible = cb.Checked;
- this.huangsepictureBox.Visible = cb.Checked;
- this.lanlvpictureBox.Visible = cb.Checked;
- this.lvsepictureBox.Visible = cb.Checked;
- this.m_cameraParamModel.parame.ShowColorPBoxFlag = cb.Checked ? 1 : 0;
- }
- private void baoGuangPertBox_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && (e.KeyChar != (char)Keys.Enter) && (e.KeyChar != (char)Keys.Back)) // 非数字键, 放弃该输入
- {
- e.Handled = true;
- return;
- }
- if (e.KeyChar == (char)Keys.Enter)
- {
- try
- {
- int value = Convert.ToInt32(LightBox.Text);
- value = Math.Max(lightTBar.Minimum, value);
- value = Math.Min(lightTBar.Maximum, value);
- lightTBar.Value = value;
- Light_ValueChanged(null, null);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- private void txtGain_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && (e.KeyChar != (char)Keys.Enter) && (e.KeyChar != (char)Keys.Back)) // 非数字键, 放弃该输入
- {
- e.Handled = true;
- return;
- }
- if (e.KeyChar == (char)Keys.Enter)
- {
- try
- {
- int trbGainVal = Convert.ToInt32(txtGain.Text);
- if (trbGainVal < trbGain.Minimum)
- {
- trbGainVal = trbGain.Minimum;
- }
- if (trbGainVal > trbGain.Maximum)
- {
- trbGainVal = trbGain.Maximum;
- }
- trbGain.Value = trbGainVal;
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- private void redChannelTB_ValueChanged(object sender, EventArgs e)
- {
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- m_cameraParamModel.parame.RedChannel = ((TrackBar)sender).Value;
- // 设置到相机
- if (m_immediately)
- {
- m_camera.SetRedGain(m_cameraParamModel.parame.RedChannel); //usec
- }
- }
- private void greenChannelTB_Scroll(object sender, EventArgs e)
- {
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- m_cameraParamModel.parame.GreenChannel = ((TrackBar)sender).Value;
- // 设置到相机
- if (m_immediately)
- {
- m_camera.SetGreeGain(m_cameraParamModel.parame.GreenChannel); //usec
- }
- }
- private void blueChannelTB_ValueChanged(object sender, EventArgs e)
- {
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- }
- m_cameraParamModel.parame.BlueChannel = ((TrackBar)sender).Value;
- // 设置到相机
- if (m_immediately)
- {
- m_camera.SetBlueGain(m_cameraParamModel.parame.BlueChannel); //usec
- }
- }
- private void trbGain_ValueChanged(object sender, EventArgs e)
- {
- txtGain.Text = trbGain.Value.ToString();
- m_cameraParamModel.parame.GlobalGain = trbGain.Value;
- m_camera.SetGlobalGain(m_cameraParamModel.parame.GlobalGain);
- }
- /// <summary>
- /// 白平衡区域选择
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button7_Click(object sender, EventArgs e)
- {
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).o_use = false;
- ((ImageCollect.CameraPreviewDialog)form).m_use = !((ImageCollect.CameraPreviewDialog)form).m_use;
- }
- }
- /// <summary>
- /// 白平衡原图取色
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button6_Click(object sender, EventArgs e)
- {
- Form form = Application.OpenForms["CameraPreviewDialog"];
- if (form != null)
- {
- ((ImageCollect.CameraPreviewDialog)form).m_use = false;
- ((ImageCollect.CameraPreviewDialog)form).o_use = !((ImageCollect.CameraPreviewDialog)form).o_use;
- ((ImageCollect.CameraPreviewDialog)form).m_startP = new System.Drawing.Point(-1, -1);
- }
- }
- private void baoheduTBox_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!char.IsDigit(e.KeyChar) && (e.KeyChar != (char)Keys.Enter) && (e.KeyChar != (char)Keys.Back)) // 非数字键, 放弃该输入
- {
- e.Handled = true;
- return;
- }
- if (e.KeyChar == (char)Keys.Enter)
- {
- try
- {
- int value = Convert.ToInt32(baoheduTBox.Text);
- baoheduTBar.Value = value;
- }
- catch
- {
- baoheduTBox.Text = baoheduTBar.Value + "";
- }
- }
- }
- }
- }
|