增加調整Basler曝光時間功能
This commit is contained in:
parent
a508338501
commit
2e8b38ddf4
@ -129,24 +129,6 @@ namespace Camera_connect
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//private void StreamGrabber_ImageGrabbed1(object sender, ImageGrabbedEventArgs e)
|
|
||||||
//{
|
|
||||||
// lock (lockObject)
|
|
||||||
// {
|
|
||||||
// IGrabResult grabResult1 = e.GrabResult;
|
|
||||||
// if (grabResult1.IsValid && Graber)
|
|
||||||
// {
|
|
||||||
// // 將 IGrabResult 物件存入陣列
|
|
||||||
// grabResults[1] = grabResult1;
|
|
||||||
// // 在需要時轉換為 Bitmap 物件
|
|
||||||
// images[1] = GrabResult2Bmp(grabResults[1]);
|
|
||||||
// //委托就用到了!
|
|
||||||
// CameraImageEvent1(images[1]);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 開始擷取
|
/// 開始擷取
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -223,6 +205,8 @@ namespace Camera_connect
|
|||||||
{
|
{
|
||||||
if (i < CameraNumber)
|
if (i < CameraNumber)
|
||||||
{
|
{
|
||||||
|
// 更新曝光時間
|
||||||
|
UpdateExposureTime(i);
|
||||||
//PLCamera:所有可用于basler摄像机设备dByStre的参数名称列表 SingleFrame:启用单帧采集模式。
|
//PLCamera:所有可用于basler摄像机设备dByStre的参数名称列表 SingleFrame:启用单帧采集模式。
|
||||||
allCameras[i].Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.SingleFrame);
|
allCameras[i].Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.SingleFrame);
|
||||||
allCameras[i].StreamGrabber.Start(1, GrabStrategy.OneByOne, GrabLoop.ProvidedByStreamGrabber);
|
allCameras[i].StreamGrabber.Start(1, GrabStrategy.OneByOne, GrabLoop.ProvidedByStreamGrabber);
|
||||||
@ -248,6 +232,9 @@ namespace Camera_connect
|
|||||||
|
|
||||||
if (i < CameraNumber)
|
if (i < CameraNumber)
|
||||||
{
|
{
|
||||||
|
// 更新曝光時間
|
||||||
|
UpdateExposureTime(i);
|
||||||
|
|
||||||
//Continuous:啟用連續採集模式。
|
//Continuous:啟用連續採集模式。
|
||||||
allCameras[i].Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.Continuous);
|
allCameras[i].Parameters[PLCamera.AcquisitionMode].SetValue(PLCamera.AcquisitionMode.Continuous);
|
||||||
//camera.StreamGrabber.Start(GrabStrategy.OneByOne, GrabLoop.ProvidedByStreamGrabber);
|
//camera.StreamGrabber.Start(GrabStrategy.OneByOne, GrabLoop.ProvidedByStreamGrabber);
|
||||||
@ -288,5 +275,33 @@ namespace Camera_connect
|
|||||||
MessageBox.Show("該相機已停止擷取");
|
MessageBox.Show("該相機已停止擷取");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void UpdateExposureTime(int cameraIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (cameraIndex < CameraNumber)
|
||||||
|
{
|
||||||
|
// 從 TextBox 中讀取曝光時間
|
||||||
|
string exposureTimeText = form.Basler_ExposureTime.Text;
|
||||||
|
if (double.TryParse(exposureTimeText, out double exposureTime))
|
||||||
|
{
|
||||||
|
// 設定曝光時間到相機
|
||||||
|
allCameras[cameraIndex].Parameters[PLCamera.ExposureTime].SetValue(exposureTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("請輸入有效的曝光時間!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("請確保相機索引正確!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show($"設定曝光時間時發生錯誤: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user