Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
柳 佳乐
pacePerfect-CameraConsole
Commits
3845cf1e
Commit
3845cf1e
authored
Jul 31, 2025
by
柳 佳乐
Browse files
第一版
parent
81b7a05a
Changes
8
Hide whitespace changes
Inline
Side-by-side
src/App.vue
View file @
3845cf1e
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
circle
circle
:icon=
"isVisible ? 'el-icon-close' : 'el-icon-menu'"
:icon=
"isVisible ? 'el-icon-close' : 'el-icon-menu'"
size=
"mini"
size=
"mini"
:type=
"isVisible ?'danger': 'warning' "
/>
/>
<transition
name=
"slide"
>
<transition
name=
"slide"
>
<div
v-show=
"isVisible"
class=
"scale-panel"
>
<div
v-show=
"isVisible"
class=
"scale-panel"
>
...
@@ -43,6 +44,7 @@ export default {
...
@@ -43,6 +44,7 @@ export default {
isVisible
:
true
isVisible
:
true
}
}
},
},
methods
:
{
methods
:
{
togglePanel
()
{
togglePanel
()
{
this
.
isVisible
=
!
this
.
isVisible
this
.
isVisible
=
!
this
.
isVisible
...
...
src/api/dynamiCamera.js
View file @
3845cf1e
...
@@ -93,6 +93,7 @@ export function startMultiCameraRecode(data){
...
@@ -93,6 +93,7 @@ export function startMultiCameraRecode(data){
baseURL
:
`http://
${
baseURLConsole
}
`
,
baseURL
:
`http://
${
baseURLConsole
}
`
,
url
:
`/api/cameras/multi_control/multi_camera_recode/start`
,
url
:
`/api/cameras/multi_control/multi_camera_recode/start`
,
method
:
'
POST
'
,
method
:
'
POST
'
,
data
})
})
}
}
//双目相机和动态相机一键停止
//双目相机和动态相机一键停止
...
@@ -101,5 +102,6 @@ export function stopMultiCameraRecode(data){
...
@@ -101,5 +102,6 @@ export function stopMultiCameraRecode(data){
baseURL
:
`http://
${
baseURLConsole
}
`
,
baseURL
:
`http://
${
baseURLConsole
}
`
,
url
:
`/api/cameras/multi_control/multi_camera_recode/stop`
,
url
:
`/api/cameras/multi_control/multi_camera_recode/stop`
,
method
:
'
POST
'
,
method
:
'
POST
'
,
data
})
})
}
}
src/components/binocularCamera.js
View file @
3845cf1e
...
@@ -15,7 +15,9 @@ import {
...
@@ -15,7 +15,9 @@ import {
setStereoCameraResolution
,
// 设置相机分辨率
setStereoCameraResolution
,
// 设置相机分辨率
setStereoCameraFps
,
// 设置相机帧率
setStereoCameraFps
,
// 设置相机帧率
setStereoCameraDepthEnabled
,
// 设置相机深度传感器是否启用
setStereoCameraDepthEnabled
,
// 设置相机深度传感器是否启用
setStereoCameraDepthMode
// 设置相机深度传感器模式
setStereoCameraDepthMode
,
// 设置相机深度传感器模式
startStereoCameraRecording
,
// 开始双目相机录制
stopStereoCameraRecording
,
// 停止双目相机录制
}
from
'
@/api/binocularCamera
'
}
from
'
@/api/binocularCamera
'
export
const
binocularCameraMixins
=
{
export
const
binocularCameraMixins
=
{
data
()
{
data
()
{
...
@@ -26,6 +28,7 @@ export const binocularCameraMixins = {
...
@@ -26,6 +28,7 @@ export const binocularCameraMixins = {
leftImage
:
null
,
//左目图像
leftImage
:
null
,
//左目图像
rightImage
:
null
,
//右目图像
rightImage
:
null
,
//右目图像
},
},
stereoCameraisInitialized
:
false
,
// 双目相机设置
// 双目相机设置
stereoSettings
:
{
stereoSettings
:
{
autoExposure
:
true
,
//自动曝光
autoExposure
:
true
,
//自动曝光
...
@@ -67,7 +70,7 @@ export const binocularCameraMixins = {
...
@@ -67,7 +70,7 @@ export const binocularCameraMixins = {
methods
:
{
methods
:
{
// 获取双目相机列表
// 获取双目相机列表
getStereoCameraList
()
{
getStereoCameraList
()
{
this
.
activeTab
=
'
stereo
'
const
loading
=
this
.
$loading
({
const
loading
=
this
.
$loading
({
lock
:
true
,
lock
:
true
,
text
:
'
Loading
'
,
text
:
'
Loading
'
,
...
@@ -80,17 +83,22 @@ export const binocularCameraMixins = {
...
@@ -80,17 +83,22 @@ export const binocularCameraMixins = {
this
.
stereoSettings
.
resolution
=
this
.
stereoCameras
[
0
].
camera_resolution
this
.
stereoSettings
.
resolution
=
this
.
stereoCameras
[
0
].
camera_resolution
this
.
stereoSettings
.
depthMode
=
this
.
stereoCameras
[
0
].
depth_mode
this
.
stereoSettings
.
depthMode
=
this
.
stereoCameras
[
0
].
depth_mode
this
.
$message
.
success
(
`获取到
${
this
.
stereoCameras
.
length
}
个双目相机`
);
this
.
$message
.
success
(
`获取到
${
this
.
stereoCameras
.
length
}
个双目相机`
);
this
.
activeTab
=
'
stereo
'
loading
.
close
();
loading
.
close
();
let
srt
=
sessionStorage
.
getItem
(
'
stereoCameraisInitialized
'
);
if
(
srt
){
this
.
stereoCameraisInitialized
=
true
}
return
return
}
}
getStereoCameraList
().
then
(
res
=>
{
getStereoCameraList
().
then
(
res
=>
{
console
.
log
(
res
)
if
(
res
.
data
.
length
>
0
)
{
if
(
res
.
data
.
length
>
0
)
{
this
.
stereoSettings
.
fps
=
res
.
data
[
0
].
camera_fps
this
.
stereoSettings
.
fps
=
res
.
data
[
0
].
camera_fps
this
.
stereoSettings
.
resolution
=
res
.
data
[
0
].
camera_resolution
this
.
stereoSettings
.
resolution
=
res
.
data
[
0
].
camera_resolution
this
.
stereoSettings
.
depthMode
=
res
.
data
[
0
].
depth_mode
this
.
stereoSettings
.
depthMode
=
res
.
data
[
0
].
depth_mode
this
.
stereoCameras
=
res
.
data
this
.
stereoCameras
=
res
.
data
this
.
$message
.
success
(
`获取到
${
this
.
stereoCameras
.
length
}
个双目相机`
);
this
.
$message
.
success
(
`获取到
${
this
.
stereoCameras
.
length
}
个双目相机`
);
this
.
activeTab
=
'
stereo
'
}
else
{
}
else
{
this
.
$message
.
error
(
'
未检测到双目相机
'
)
this
.
$message
.
error
(
'
未检测到双目相机
'
)
}
}
...
@@ -136,28 +144,64 @@ export const binocularCameraMixins = {
...
@@ -136,28 +144,64 @@ export const binocularCameraMixins = {
}
}
}
}
initStereoCamera
(
param
).
then
(
res
=>
{
initStereoCamera
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
sessionStorage
.
setItem
(
'
stereoCameras
'
,
JSON
.
stringify
(
this
.
stereoCameras
));
if
(
res
.
data
.
failed_cameras
.
length
>
0
){
getStereoCameraRecordStatus
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
this
.
$message
.
error
(
res
.
data
.
failed_cameras
[
0
].
message
)
console
.
log
(
res
)
return
})
}
if
(
res
.
data
.
successful_cameras
.
length
>
0
){
sessionStorage
.
setItem
(
'
stereoCameras
'
,
JSON
.
stringify
(
this
.
stereoCameras
));
sessionStorage
.
setItem
(
'
stereoCameraisInitialized
'
,
this
.
stereoCameraisInitialized
)
this
.
stereoCameraisInitialized
=
true
this
.
$message
.
success
(
res
.
data
.
successful_cameras
[
0
].
message
)
getStereoCameraRecordStatus
(
this
.
stereoCameras
[
0
].
camera_id
)
}
}).
finally
(()
=>
{
}).
finally
(()
=>
{
loading
.
close
();
loading
.
close
();
})
})
},
},
//双目相机开始录制
startStereoRecord
()
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
user_name
:
this
.
$store
.
getters
.
username
,
save_dir
:
this
.
dynamiSettings
.
savePath
}
startStereoCameraRecording
(
param
).
then
(
res
=>
{
this
.
isRecording
=
true
;
this
.
recordingStartTime
=
new
Date
();
this
.
startRecordingTimer
();
this
.
$message
.
success
(
'
开始录制
'
)
})
},
//双目相机停止录制
stopStereoRecord
()
{
stopStereoCameraRecording
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
this
.
isRecording
=
false
;
this
.
stopRecordingTimer
();
this
.
recordingStartTime
=
null
;
this
.
$message
.
success
(
`停止录制`
);
this
.
$message
.
success
(
'
停止录制
'
)
})
},
//关闭双目相机
//关闭双目相机
closeStereoCameras
()
{
closeStereoCameras
()
{
closeStereoCamera
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
if
(
this
.
stereoCameras
.
length
>
0
){
sessionStorage
.
removeItem
(
'
stereoCameras
'
)
closeStereoCamera
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
this
.
stereoCameras
=
[]
sessionStorage
.
removeItem
(
'
stereoCameras
'
)
console
.
log
(
res
)
sessionStorage
.
removeItem
(
'
stereoCameraisInitialized
'
)
})
if
(
this
.
interval
)
{
clearInterval
(
this
.
interval
)
}
this
.
stereoCameras
=
[]
this
.
stereoCameraisInitialized
=
false
})
}
},
},
//获取帧
//获取帧
getStereoFrame
()
{
getStereoFrame
()
{
getStereoCameraFrame
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
getStereoCameraFrame
(
this
.
stereoCameras
[
0
].
camera_id
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
stereoCamerasImage
.
leftImage
=
res
.
data
.
frame_data
.
left_image
this
.
stereoCamerasImage
.
leftImage
=
res
.
data
.
frame_data
.
left_image
this
.
stereoCamerasImage
.
rightImage
=
res
.
data
.
frame_data
.
right_image
this
.
stereoCamerasImage
.
rightImage
=
res
.
data
.
frame_data
.
right_image
this
.
stereoCamerasImage
.
depthImage
=
res
.
data
.
frame_data
.
depth_image
this
.
stereoCamerasImage
.
depthImage
=
res
.
data
.
frame_data
.
depth_image
...
@@ -238,7 +282,6 @@ export const binocularCameraMixins = {
...
@@ -238,7 +282,6 @@ export const binocularCameraMixins = {
img
.
src
=
this
.
stereoCamerasImage
.
depthImage
;
img
.
src
=
this
.
stereoCamerasImage
.
depthImage
;
},
},
toggleAutoRefresh
()
{
toggleAutoRefresh
()
{
console
.
log
(
"
123
"
)
this
.
autoRefresh
=
!
this
.
autoRefresh
this
.
autoRefresh
=
!
this
.
autoRefresh
if
(
this
.
autoRefresh
)
{
if
(
this
.
autoRefresh
)
{
let
intervalTime
=
1000
/
this
.
refreshInterval
let
intervalTime
=
1000
/
this
.
refreshInterval
...
@@ -252,95 +295,86 @@ export const binocularCameraMixins = {
...
@@ -252,95 +295,86 @@ export const binocularCameraMixins = {
},
},
//修改曝光和增益
//修改曝光和增益
handleAutoExposureChange
()
{
handleAutoExposureChange
()
{
console
.
log
(
"
修改曝光和增益
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
is_auto_exposure_gain
:
this
.
stereoSettings
.
autoExposure
,
is_auto_exposure_gain
:
this
.
stereoSettings
.
autoExposure
,
exposure
:
this
.
stereoSettings
.
exposure
,
exposure
:
this
.
stereoSettings
.
exposure
,
gain
:
this
.
stereoSettings
.
gain
gain
:
this
.
stereoSettings
.
gain
}
}
// console.log(param)
//修改曝光和增益
//修改曝光和增益
setStereoCameraExposureGain
(
param
).
then
(
res
=>
{
setStereoCameraExposureGain
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改曝光和增益成功
'
)
})
})
},
},
//修改亮度
//修改亮度
handleBrightnessChange
()
{
handleBrightnessChange
()
{
console
.
log
(
"
修改亮度
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
brightness
:
this
.
stereoSettings
.
brightness
brightness
:
this
.
stereoSettings
.
brightness
}
}
setStereoCameraBrightness
(
param
).
then
(
res
=>
{
setStereoCameraBrightness
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改亮度成功
'
)
})
})
},
},
//修改对比度
//修改对比度
handleContrastChange
()
{
handleContrastChange
()
{
console
.
log
(
"
修改对比度
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
contrast
:
this
.
stereoSettings
.
contrast
contrast
:
this
.
stereoSettings
.
contrast
}
}
setStereoCameraContrast
(
param
).
then
(
res
=>
{
setStereoCameraContrast
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改对比度成功
'
)
})
})
},
},
//修改色调
//修改色调
handleHueChange
()
{
handleHueChange
()
{
console
.
log
(
"
修改色调
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
hue
:
this
.
stereoSettings
.
hue
hue
:
this
.
stereoSettings
.
hue
}
}
setStereoCameraHue
(
param
).
then
(
res
=>
{
setStereoCameraHue
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改色调成功
'
)
})
})
},
},
//修改饱和度
//修改饱和度
handleSaturationChange
()
{
handleSaturationChange
()
{
console
.
log
(
"
修改饱和度
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
saturation
:
this
.
stereoSettings
.
saturation
saturation
:
this
.
stereoSettings
.
saturation
}
}
setStereoCameraSaturation
(
param
).
then
(
res
=>
{
setStereoCameraSaturation
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改饱和度成功
'
)
})
})
},
},
//修改锐度
//修改锐度
handleSharpnessChange
()
{
handleSharpnessChange
()
{
console
.
log
(
"
修改锐度
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
sharpness
:
this
.
stereoSettings
.
sharpness
sharpness
:
this
.
stereoSettings
.
sharpness
}
}
setStereoCameraSharpness
(
param
).
then
(
res
=>
{
setStereoCameraSharpness
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改锐度成功
'
)
})
})
},
},
//修改伽马值
//修改伽马值
handleGammaChange
()
{
handleGammaChange
()
{
console
.
log
(
"
修改伽马值
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
gamma
:
this
.
stereoSettings
.
gamma
gamma
:
this
.
stereoSettings
.
gamma
}
}
setStereoCameraGamma
(
param
).
then
(
res
=>
{
setStereoCameraGamma
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改伽马值成功
'
)
})
})
},
},
//修改白平衡
//修改白平衡
handleWhiteBalanceChange
()
{
handleWhiteBalanceChange
()
{
console
.
log
(
"
修改白平衡
"
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
is_auto_whitebalance
:
this
.
stereoSettings
.
whiteBalanceAuto
,
is_auto_whitebalance
:
this
.
stereoSettings
.
whiteBalanceAuto
,
whitebalance_temperature
:
this
.
stereoSettings
.
whiteBalance
whitebalance_temperature
:
this
.
stereoSettings
.
whiteBalance
}
}
setStereoCameraWhiteBalance
(
param
).
then
(
res
=>
{
setStereoCameraWhiteBalance
(
param
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
$message
.
success
(
'
修改白平衡成功
'
)
})
})
},
},
//修改分辨率
//修改分辨率
...
@@ -349,17 +383,20 @@ export const binocularCameraMixins = {
...
@@ -349,17 +383,20 @@ export const binocularCameraMixins = {
clearInterval
(
this
.
interval
)
clearInterval
(
this
.
interval
)
this
.
autoRefresh
=
!
this
.
autoRefresh
this
.
autoRefresh
=
!
this
.
autoRefresh
}
}
this
.
list
=
this
.
resolutionOptions
.
filter
(
item
=>
item
.
value
==
this
.
stereoSettings
.
resolution
)
let
list
=
this
.
resolutionOptions
.
filter
(
item
=>
item
.
value
==
this
.
stereoSettings
.
resolution
)
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
resolution
:
this
.
stereoSettings
.
resolution
resolution
:
this
.
stereoSettings
.
resolution
}
}
setStereoCameraResolution
(
param
).
then
(
res
=>
{
setTimeout
(()
=>
{
console
.
log
(
res
)
setStereoCameraResolution
(
param
).
then
(
res
=>
{
this
.
currentFpsOptions
=
this
.
list
.
fpsOptions
this
.
currentFpsOptions
=
list
[
0
].
fpsOptions
this
.
stereoSettings
.
fps
=
this
.
currentFpsOptions
[
this
.
currentFpsOptions
.
length
-
1
]
this
.
stereoSettings
.
fps
=
this
.
currentFpsOptions
[
this
.
currentFpsOptions
.
length
-
1
]
this
.
handleFpsChange
()
this
.
handleFpsChange
()
})
this
.
$message
.
success
(
'
修改分辨率成功
'
)
})
},
1000
);
},
},
//修改帧率
//修改帧率
handleFpsChange
()
{
handleFpsChange
()
{
...
@@ -371,9 +408,12 @@ export const binocularCameraMixins = {
...
@@ -371,9 +408,12 @@ export const binocularCameraMixins = {
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
frame_rate
:
this
.
stereoSettings
.
fps
frame_rate
:
this
.
stereoSettings
.
fps
}
}
setStereoCameraFps
(
param
).
then
(
res
=>
{
setTimeout
(()
=>
{
console
.
log
(
res
)
setStereoCameraFps
(
param
).
then
(
res
=>
{
})
this
.
$message
.
success
(
'
修改帧率成功
'
)
})
},
1000
);
},
},
//修改深度传感器是否启用
//修改深度传感器是否启用
handleDepthEnabledChange
()
{
handleDepthEnabledChange
()
{
...
@@ -381,13 +421,16 @@ export const binocularCameraMixins = {
...
@@ -381,13 +421,16 @@ export const binocularCameraMixins = {
clearInterval
(
this
.
interval
)
clearInterval
(
this
.
interval
)
this
.
autoRefresh
=
!
this
.
autoRefresh
this
.
autoRefresh
=
!
this
.
autoRefresh
}
}
let
param
=
{
let
param
=
{
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
depth_enabled
:
this
.
stereoSettings
.
depthEnabled
depth_enabled
:
this
.
stereoSettings
.
depthEnabled
}
}
setStereoCameraDepthEnabled
(
param
).
then
(
res
=>
{
setTimeout
(()
=>
{
console
.
log
(
res
)
setStereoCameraDepthEnabled
(
param
).
then
(
res
=>
{
})
this
.
$message
.
success
(
`深度传感器
${
this
.
stereoSettings
.
depthEnabled
?
'
启用
'
:
'
禁用
'
}
成功`
)
})
},
1000
);
},
},
//修改深度传感器模式
//修改深度传感器模式
handleDepthModeChange
()
{
handleDepthModeChange
()
{
...
@@ -399,13 +442,13 @@ export const binocularCameraMixins = {
...
@@ -399,13 +442,13 @@ export const binocularCameraMixins = {
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
camera_id
:
this
.
stereoCameras
[
0
].
camera_id
,
depth_mode
:
this
.
stereoSettings
.
depthMode
depth_mode
:
this
.
stereoSettings
.
depthMode
}
}
setStereoCameraDepthMode
(
param
).
then
(
res
=>
{
setTimeout
(()
=>
{
console
.
log
(
res
)
setStereoCameraDepthMode
(
param
).
then
(
res
=>
{
})
this
.
$message
.
success
(
'
修改深度传感器模式成功
'
)
})
},
1000
);
},
},
},
},
beforeDestroy
()
{
beforeDestroy
()
{
//关闭双目相机
//关闭双目相机
...
@@ -416,5 +459,6 @@ export const binocularCameraMixins = {
...
@@ -416,5 +459,6 @@ export const binocularCameraMixins = {
}
}
//清除相机缓存
//清除相机缓存
sessionStorage
.
removeItem
(
'
stereoCameras
'
)
sessionStorage
.
removeItem
(
'
stereoCameras
'
)
sessionStorage
.
removeItem
(
'
stereoCameraisInitialized
'
)
}
}
}
}
src/components/dynamiCamera.vue
View file @
3845cf1e
...
@@ -5,8 +5,8 @@
...
@@ -5,8 +5,8 @@
<div
class=
"header-container"
>
<div
class=
"header-container"
>
<div
class=
"header-title"
>
相机2、3模块
</div>
<div
class=
"header-title"
>
相机2、3模块
</div>
<div
class=
"header-buttons"
>
<div
class=
"header-buttons"
>
<el-button
type=
"primary"
@
click=
"getVideoList"
>
获取相机2列表
</el-button>
<el-button
type=
"primary"
@
click=
"getVideoList"
:disabled=
"dynamiCameraisInitialized"
>
获取相机2列表
</el-button>
<el-button
type=
"primary"
@
click=
"getStereoCameraList"
>
获取相机3列表
</el-button>
<el-button
type=
"primary"
@
click=
"getStereoCameraList"
:disabled=
"stereoCameraisInitialized"
>
获取相机3列表
</el-button>
</div>
</div>
</div>
</div>
...
@@ -37,14 +37,20 @@
...
@@ -37,14 +37,20 @@
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button-group>
<el-button-group>
<el-button
type=
"primary"
@
click=
"initDynamiCameras"
icon=
"el-icon-refresh"
>
初始化
</el-button>
<el-button
type=
"primary"
@
click=
"initDynamiCameras"
icon=
"el-icon-refresh"
:disabled=
"dynamiCameraisInitialized"
>
初始化
</el-button>
<el-button
type=
"danger"
@
click=
"closeAllCameras"
icon=
"el-icon-close"
>
关闭
</el-button>
<el-button
type=
"danger"
@
click=
"closeAllCameras"
icon=
"el-icon-close"
>
关闭
</el-button>
</el-button-group>
</el-button-group>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-switch
v-model=
"dynamiSettings.lowFpsMode"
active-text=
"低帧率"
inactive-text=
"原始帧"
<el-switch
v-model=
"dynamiSettings.lowFpsMode"
active-text=
"低帧率"
inactive-text=
"原始帧"
@
change=
"toggleLowFpsMode"
sty
le=
"
margin-left: 10px;"
/>
@
change=
"toggleLowFpsMode"
:disab
le
d
=
"
!dynamiCameraisInitialized"
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-tag
:type=
"dynamiCameraisInitialized?'success':'info'"
>
{{
dynamiCameraisInitialized
?
'
已初始化
'
:
'
未初始化
'
}}
</el-tag>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
...
@@ -146,12 +152,12 @@
...
@@ -146,12 +152,12 @@
</el-col>
</el-col>
<!-- 深度计算 -->
<!-- 深度计算 -->
<el-col
:span=
"12"
>
<!--
<el-col
:span=
"12"
>
<el-form-item
label=
"深度计算"
>
<el-form-item
label=
"深度计算"
>
<el-switch
v-model=
"stereoSettings.depthEnabled"
active-text=
"开"
inactive-text=
"关"
<el-switch
v-model=
"stereoSettings.depthEnabled"
active-text=
"开"
inactive-text=
"关"
@
change=
"handleDepthEnabledChange"
></el-switch>
@
change=
"handleDepthEnabledChange"
></el-switch>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"12"
v-if=
"stereoSettings.depthEnabled"
>
<el-col
:span=
"12"
v-if=
"stereoSettings.depthEnabled"
>
<el-form-item
label=
"深度模式"
>
<el-form-item
label=
"深度模式"
>
<el-select
v-model=
"stereoSettings.depthMode"
style=
"width: 200px"
<el-select
v-model=
"stereoSettings.depthMode"
style=
"width: 200px"
...
@@ -163,10 +169,15 @@
...
@@ -163,10 +169,15 @@
</el-row>
</el-row>
<el-form-item>
<el-form-item>
<el-button-group>
<el-button-group>
<el-button
type=
"primary"
@
click=
"initStereoCameras"
>
初始化
</el-button>
<el-button
type=
"primary"
@
click=
"initStereoCameras"
:disabled=
"stereoCameraisInitialized"
>
初始化
</el-button>
<el-button
type=
"danger"
@
click=
"closeStereoCameras"
>
关闭
</el-button>
<el-button
type=
"danger"
@
click=
"closeStereoCameras"
>
关闭
</el-button>
</el-button-group>
</el-button-group>
</el-form-item>
</el-form-item>
<el-form-item>
<el-tag
:type=
"stereoCameraisInitialized?'success':'info'"
>
{{
stereoCameraisInitialized
?
'
已初始化
'
:
'
未初始化
'
}}
</el-tag>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
...
@@ -190,7 +201,7 @@
...
@@ -190,7 +201,7 @@
</div>
</div>
</div>
</div>
<div
class=
"frame-header"
style=
"padding: 5px; text-align: center;"
>
<div
class=
"frame-header"
style=
"padding: 5px; text-align: center;"
>
<el-select
v-model=
"camera.cameraOrientation"
size=
"mini"
style=
"width: 80px; margin-right: 10px;"
>
<el-select
v-model=
"camera.cameraOrientation"
size=
"mini"
style=
"width: 80px; margin-right: 10px;"
@
change=
"configCamera(camera)"
>
<el-option
label=
"不指定"
value=
"不指定"
></el-option>
<el-option
label=
"不指定"
value=
"不指定"
></el-option>
<el-option
label=
"右中"
value=
"右中"
></el-option>
<el-option
label=
"右中"
value=
"右中"
></el-option>
<el-option
label=
"右下"
value=
"右下"
></el-option>
<el-option
label=
"右下"
value=
"右下"
></el-option>
...
@@ -199,7 +210,7 @@
...
@@ -199,7 +210,7 @@
<el-option
label=
"左中"
value=
"左中"
></el-option>
<el-option
label=
"左中"
value=
"左中"
></el-option>
<el-option
label=
"左下"
value=
"左下"
></el-option>
<el-option
label=
"左下"
value=
"左下"
></el-option>
</el-select>
</el-select>
<el-button
size=
"mini"
type=
"primary"
plain
@
click=
"configCamera(camera)"
>
配置
</el-button>
<!--
<el-button
size=
"mini"
type=
"primary"
plain
@
click=
"configCamera(camera)"
>
配置
</el-button>
-->
<el-button
size=
"mini"
type=
"primary"
plain
@
click=
"startStream(camera)"
>
链接
</el-button>
<el-button
size=
"mini"
type=
"primary"
plain
@
click=
"startStream(camera)"
>
链接
</el-button>
<el-button
size=
"mini"
type=
"warning"
plain
@
click=
"stopStream(camera)"
>
断链
</el-button>
<el-button
size=
"mini"
type=
"warning"
plain
@
click=
"stopStream(camera)"
>
断链
</el-button>
</div>
</div>
...
@@ -278,6 +289,18 @@
...
@@ -278,6 +289,18 @@
</div>
</div>
</div>
</div>
<!--
<div
class=
"global-controls"
v-if=
"stereoCameras.length > 0"
>
<el-button-group>
<el-button
type=
"danger"
@
click=
"startStereoRecord"
>
开始录制
</el-button>
<el-button
type=
"info"
@
click=
"stopStereoRecord"
>
停止录制
</el-button>
</el-button-group>
<div
class=
"recording-time"
v-if=
"isRecording"
>
<i
class=
"el-icon-video-camera"
></i>
<span>
{{
formatRecordingTime
()
}}
</span>
</div>
</div>
-->
<div
v-if=
"dynamiCameras.length
<
=
0
&&
stereoCameras.length
<
=
0"
class=
"empty-tip"
>
<div
v-if=
"dynamiCameras.length
<
=
0
&&
stereoCameras.length
<
=
0"
class=
"empty-tip"
>
<el-empty
description=
"暂无相机,请点击右上角按钮获取相机列表"
></el-empty>
<el-empty
description=
"暂无相机,请点击右上角按钮获取相机列表"
></el-empty>
</div>
</div>
...
@@ -309,7 +332,7 @@ export default {
...
@@ -309,7 +332,7 @@ export default {
activeTab
:
'
dynami
'
,
activeTab
:
'
dynami
'
,
dynamiCameras
:
[],
dynamiCameras
:
[],
frameCanvas
:
null
,
frameCanvas
:
null
,
dynamiCameraisInitialized
:
false
,
// 动态相机设置
// 动态相机设置
dynamiSettings
:
{
dynamiSettings
:
{
resolution
:
'
1920x1080
'
,
resolution
:
'
1920x1080
'
,
...
@@ -417,6 +440,7 @@ export default {
...
@@ -417,6 +440,7 @@ export default {
camera
.
height
=
parseInt
(
height
)
camera
.
height
=
parseInt
(
height
)
camera
.
fps
=
this
.
dynamiSettings
.
fps
camera
.
fps
=
this
.
dynamiSettings
.
fps
})
})
this
.
dynamiCameraisInitialized
=
true
this
.
$message
.
success
(
`初始化所有相机成功`
)
this
.
$message
.
success
(
`初始化所有相机成功`
)
})
})
},
},
...
@@ -442,7 +466,8 @@ export default {
...
@@ -442,7 +466,8 @@ export default {
savePath
:
'
images/captures
'
,
savePath
:
'
images/captures
'
,
lowFpsMode
:
false
lowFpsMode
:
false
},
},
this
.
$message
.
success
(
`关闭所有相机成功`
)
this
.
dynamiCameraisInitialized
=
false
this
.
$message
.
success
(
`关闭所有相机成功`
)
})
})
},
},
// 切换低帧率模式
// 切换低帧率模式
...
@@ -630,6 +655,7 @@ export default {
...
@@ -630,6 +655,7 @@ export default {
user_name
:
this
.
$store
.
getters
.
username
,
user_name
:
this
.
$store
.
getters
.
username
,
save_dir
:
this
.
dynamiSettings
.
savePath
save_dir
:
this
.
dynamiSettings
.
savePath
}
}
console
.
log
(
param
)
startMultiCameraRecode
(
param
).
then
(
res
=>
{
startMultiCameraRecode
(
param
).
then
(
res
=>
{
this
.
isRecording
=
true
;
this
.
isRecording
=
true
;
this
.
recordingStartTime
=
new
Date
();
this
.
recordingStartTime
=
new
Date
();
...
@@ -676,8 +702,6 @@ export default {
...
@@ -676,8 +702,6 @@ export default {
rgbd_cameras
:
this
.
stereoCameras
[
0
].
camera_id
+
''
,
//双目相机列表
rgbd_cameras
:
this
.
stereoCameras
[
0
].
camera_id
+
''
,
//双目相机列表
user_name
:
this
.
$store
.
getters
.
username
,
user_name
:
this
.
$store
.
getters
.
username
,
save_dir
:
this
.
dynamiSettings
.
savePath
,
save_dir
:
this
.
dynamiSettings
.
savePath
,
user_name
:
this
.
userInfo
.
name
,
save_dir
:
this
.
dynamiSettings
.
savePath
,
}
}
stopMultiCameraRecode
(
param
).
then
(
res
=>
{
stopMultiCameraRecode
(
param
).
then
(
res
=>
{
this
.
isRecording
=
false
;
this
.
isRecording
=
false
;
...
...
src/components/stillCamera.vue
View file @
3845cf1e
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<div
class=
"header-container"
>
<div
class=
"header-container"
>
<div
class=
"header-title"
>
相机1模块
</div>
<div
class=
"header-title"
>
相机1模块
</div>
<div
class=
"header-buttons"
>
<div
class=
"header-buttons"
>
<el-button
type=
"primary"
@
click=
"getCameraList"
>
获取相机列表
</el-button>
<el-button
type=
"primary"
@
click=
"getCameraList"
:disabled=
"isInitialized"
>
获取相机列表
</el-button>
</div>
</div>
</div>
</div>
...
@@ -36,12 +36,31 @@
...
@@ -36,12 +36,31 @@
<el-form-item>
<el-form-item>
<el-button-group>
<el-button-group>
<el-button
type=
"primary"
@
click=
"initAllCameras"
icon=
"el-icon-refresh"
>
初始化
</el-button>
<el-button
<el-switch
v-model=
"globalParams.lowFpsMode"
active-text=
"低帧率"
inactive-text=
"原始帧"
type=
"primary"
@
change=
"toggleFpsMode"
style=
"margin-left: 10px;"
/>
@
click=
"initAllCameras"
<el-button
@
click=
"closeAllCameras"
size=
"mini"
icon=
"el-icon-close"
icon=
"el-icon-refresh"
style=
"margin-left: 10px;"
>
关闭所有
</el-button>
:disabled=
"isInitialized"
>
{{
isInitialized
?
'
已初始化
'
:
'
初始化
'
}}
</el-button>
<el-switch
v-model=
"globalParams.lowFpsMode"
active-text=
"低帧率"
inactive-text=
"原始帧"
@
change=
"toggleFpsMode"
style=
"margin-left: 10px;"
:disabled=
"!isInitialized"
/>
<el-button
@
click=
"closeAllCameras"
size=
"mini"
icon=
"el-icon-close"
style=
"margin-left: 10px;"
>
关闭所有
</el-button>
</el-button-group>
</el-button-group>
<el-tag
:type=
"isInitialized?'success':'info'"
>
{{
isInitialized
?
'
已初始化
'
:
'
未初始化
'
}}
</el-tag>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -117,6 +136,7 @@ export default {
...
@@ -117,6 +136,7 @@ export default {
lowFpsMode
:
false
,
//低帧率模式开关
lowFpsMode
:
false
,
//低帧率模式开关
},
},
cameraList
:
[],
//相机列表
cameraList
:
[],
//相机列表
isInitialized
:
false
,
// 初始化状态
}
}
},
},
methods
:
{
methods
:
{
...
@@ -184,6 +204,7 @@ export default {
...
@@ -184,6 +204,7 @@ export default {
camera
.
height
=
parseInt
(
height
)
camera
.
height
=
parseInt
(
height
)
camera
.
fps
=
this
.
globalParams
.
fps
camera
.
fps
=
this
.
globalParams
.
fps
})
})
this
.
isInitialized
=
true
this
.
$message
.
success
(
`初始化所有相机成功`
)
this
.
$message
.
success
(
`初始化所有相机成功`
)
})
})
},
},
...
@@ -413,6 +434,7 @@ export default {
...
@@ -413,6 +434,7 @@ export default {
closeStillCamera
(
param
).
then
(
res
=>
{
closeStillCamera
(
param
).
then
(
res
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
this
.
cameraList
=
[];
this
.
cameraList
=
[];
this
.
isInitialized
=
false
this
.
globalParams
=
{
this
.
globalParams
=
{
fps
:
30
,
//帧率
fps
:
30
,
//帧率
resolution
:
'
2560x1440
'
,
//分别率
resolution
:
'
2560x1440
'
,
//分别率
...
...
src/store/index.js
View file @
3845cf1e
...
@@ -6,12 +6,12 @@ Vue.use(Vuex)
...
@@ -6,12 +6,12 @@ Vue.use(Vuex)
export
default
new
Vuex
.
Store
({
export
default
new
Vuex
.
Store
({
state
:
{
state
:
{
patientInfo
:
{
patientInfo
:
{
name
:
'
柳佳乐
'
,
//姓名
name
:
'
Tom
'
,
//姓名
age
:
25
,
//年龄
age
:
25
,
//年龄
gender
:
'
女
'
,
//性别
gender
:
'
1
'
,
//性别
phone
:
'
19955807499
'
,
//手机号
phone
:
'
19955807499
'
,
//手机号
idCard
:
'
341221200005067836
'
,
//身份证号
idCard
:
'
341221200005067836
'
,
//身份证号
nativePlace
:
'
皖
'
,
//籍贯
nativePlace
:
'
null
'
,
//籍贯
height
:
165
,
//身高
height
:
165
,
//身高
weight
:
55
,
//体重
weight
:
55
,
//体重
bookingId
:
1
,
//预约ID
bookingId
:
1
,
//预约ID
...
@@ -50,10 +50,15 @@ export default new Vuex.Store({
...
@@ -50,10 +50,15 @@ export default new Vuex.Store({
username
:
(
state
)
=>
{
username
:
(
state
)
=>
{
let
str
=
''
;
let
str
=
''
;
state
.
patientInfo
.
name
?
str
+=
state
.
patientInfo
.
name
:
str
+=
'
null
'
;
//姓名
state
.
patientInfo
.
name
?
str
+=
state
.
patientInfo
.
name
:
str
+=
'
null
'
;
//姓名
str
+=
'
-
'
;
state
.
patientInfo
.
age
?
str
+=
state
.
patientInfo
.
age
:
str
+=
'
null
'
;
//年龄
state
.
patientInfo
.
age
?
str
+=
state
.
patientInfo
.
age
:
str
+=
'
null
'
;
//年龄
str
+=
'
-
'
;
state
.
patientInfo
.
gender
?
str
+=
state
.
patientInfo
.
gender
:
str
+=
'
null
'
;
//性别
state
.
patientInfo
.
gender
?
str
+=
state
.
patientInfo
.
gender
:
str
+=
'
null
'
;
//性别
str
+=
'
-
'
;
state
.
patientInfo
.
phone
?
str
+=
state
.
patientInfo
.
phone
:
str
+=
'
null
'
;
//手机号
state
.
patientInfo
.
phone
?
str
+=
state
.
patientInfo
.
phone
:
str
+=
'
null
'
;
//手机号
str
+=
'
-
'
;
state
.
patientInfo
.
idCard
?
str
+=
state
.
patientInfo
.
idCard
:
str
+=
'
null
'
;
//身份证号
state
.
patientInfo
.
idCard
?
str
+=
state
.
patientInfo
.
idCard
:
str
+=
'
null
'
;
//身份证号
str
+=
'
-
'
;
state
.
patientInfo
.
nativePlace
?
str
+=
state
.
patientInfo
.
nativePlace
:
str
+=
'
null
'
;
//籍贯
state
.
patientInfo
.
nativePlace
?
str
+=
state
.
patientInfo
.
nativePlace
:
str
+=
'
null
'
;
//籍贯
return
str
;
return
str
;
}
}
...
...
src/utils/request.js
View file @
3845cf1e
...
@@ -9,7 +9,6 @@ const WHITE_LIST = [
...
@@ -9,7 +9,6 @@ const WHITE_LIST = [
// 创建axios实例
// 创建axios实例
const
service
=
axios
.
create
({
const
service
=
axios
.
create
({
timeout
:
10000
})
})
// 请求拦截器
// 请求拦截器
...
@@ -42,7 +41,6 @@ service.interceptors.response.use(
...
@@ -42,7 +41,6 @@ service.interceptors.response.use(
loadingInstance
&&
loadingInstance
.
close
()
loadingInstance
&&
loadingInstance
.
close
()
const
res
=
response
.
data
const
res
=
response
.
data
console
.
log
(
res
)
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
return
res
return
res
}
else
{
}
else
{
...
@@ -55,12 +53,14 @@ service.interceptors.response.use(
...
@@ -55,12 +53,14 @@ service.interceptors.response.use(
// return Promise.reject(new Error(res.message || 'Error'))
// return Promise.reject(new Error(res.message || 'Error'))
// }
// }
return
res
return
Promise
.
reject
(
res
)
},
},
error
=>
{
error
=>
{
// 关闭loading
// 关闭loading
loadingInstance
&&
loadingInstance
.
close
()
loadingInstance
&&
loadingInstance
.
close
()
// console.log("123")
// console.log(error)
Message
.
error
(
error
.
message
)
// 可在此统一处理HTTP错误状态码
// 可在此统一处理HTTP错误状态码
// Message.error(error.message)
// Message.error(error.message)
...
...
src/utils/url.js
View file @
3845cf1e
export
const
baseURL
=
'
/api
'
export
const
baseURL
=
'
/api
'
export
const
baseURLConsole
=
'
192.168.0.103:8000
'
export
const
baseURLConsole
=
'
192.168.0.104:8000
'
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment