Merge branch 'master' of github.com:ZoneMinder/ZoneMinder
This commit is contained in:
commit
8333e909ed
26
docs/faq.rst
26
docs/faq.rst
|
@ -32,3 +32,29 @@ Snapshots and Zones images are stored in the `images` directory in your webroot.
|
||||||
Ensure that the `images` directory is writable by the user which ZoneMinder is
|
Ensure that the `images` directory is writable by the user which ZoneMinder is
|
||||||
running as. If the `images` directory is a symlink, ensure that your web server
|
running as. If the `images` directory is a symlink, ensure that your web server
|
||||||
has access to that directory as well.
|
has access to that directory as well.
|
||||||
|
|
||||||
|
How do the 3 AlarmCheckMethods interact?
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
In example, if I set the alarm % to 5-10% and the filtered and blob to 1-100%, what happens?
|
||||||
|
|
||||||
|
1. If any of the min/max values is 0, the check that the value is applied to is skipped.
|
||||||
|
2. If you have a min-alarmed area and you're below that, then it quits.
|
||||||
|
3. If you have a max-alarmed area and you're above that, then it quits.
|
||||||
|
4. If you're on filtered or blobs
|
||||||
|
|
||||||
|
1. and have a min filtered area that you're below then it quits
|
||||||
|
2. and have a max filtered area that you're above then it quits
|
||||||
|
|
||||||
|
5. If you're on blobs
|
||||||
|
|
||||||
|
1. any blob smaller than the min blob area (if set) is discarded
|
||||||
|
2. any blob larger than the max blob area (if set) is discarded
|
||||||
|
3. If there are less remaining blobs than the minimum-blobs, then it quits.
|
||||||
|
4. If there are more remaining blobs than the maximum-blobs, then it quits.
|
||||||
|
|
||||||
|
If AlarmedPixels is selected, you can only enter min/max pixel threshold and
|
||||||
|
min/max alarmed area. If FilteredPixels is selected, the Blob options are
|
||||||
|
disabled. The Blob check method allows you to specify all options. Filtered
|
||||||
|
adds more checks than alarmed, and blobs adds more checks than filtered. The
|
||||||
|
final 'score' is calculated using final check method.
|
||||||
|
|
|
@ -860,7 +860,7 @@ bool Image::WriteJpeg( const char *filename, int quality_override ) const
|
||||||
}
|
}
|
||||||
|
|
||||||
jpeg_set_defaults( cinfo );
|
jpeg_set_defaults( cinfo );
|
||||||
jpeg_set_quality( cinfo, quality, false );
|
jpeg_set_quality( cinfo, quality, FALSE );
|
||||||
cinfo->dct_method = JDCT_FASTEST;
|
cinfo->dct_method = JDCT_FASTEST;
|
||||||
|
|
||||||
jpeg_start_compress( cinfo, TRUE );
|
jpeg_start_compress( cinfo, TRUE );
|
||||||
|
@ -1093,7 +1093,7 @@ bool Image::EncodeJpeg( JOCTET *outbuffer, int *outbuffer_size, int quality_over
|
||||||
}
|
}
|
||||||
|
|
||||||
jpeg_set_defaults( cinfo );
|
jpeg_set_defaults( cinfo );
|
||||||
jpeg_set_quality( cinfo, quality, false );
|
jpeg_set_quality( cinfo, quality, FALSE );
|
||||||
cinfo->dct_method = JDCT_FASTEST;
|
cinfo->dct_method = JDCT_FASTEST;
|
||||||
|
|
||||||
jpeg_start_compress( cinfo, TRUE );
|
jpeg_start_compress( cinfo, TRUE );
|
||||||
|
|
|
@ -399,12 +399,12 @@ void zm_use_std_huff_tables( j_decompress_ptr cinfo ) {
|
||||||
static const JHUFF_TBL dclumin = {
|
static const JHUFF_TBL dclumin = {
|
||||||
{ /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 },
|
{ /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 },
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
|
||||||
0
|
FALSE
|
||||||
};
|
};
|
||||||
static const JHUFF_TBL dcchrome = {
|
static const JHUFF_TBL dcchrome = {
|
||||||
{ /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
|
{ /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 },
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
|
||||||
0
|
FALSE
|
||||||
};
|
};
|
||||||
static const JHUFF_TBL aclumin = {
|
static const JHUFF_TBL aclumin = {
|
||||||
{ /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d },
|
{ /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d },
|
||||||
|
@ -429,7 +429,7 @@ void zm_use_std_huff_tables( j_decompress_ptr cinfo ) {
|
||||||
0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
|
0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
|
||||||
0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
|
0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
|
||||||
0xf9, 0xfa },
|
0xf9, 0xfa },
|
||||||
0
|
FALSE
|
||||||
};
|
};
|
||||||
static const JHUFF_TBL acchrome = {
|
static const JHUFF_TBL acchrome = {
|
||||||
{ /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 },
|
{ /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 },
|
||||||
|
@ -454,7 +454,7 @@ void zm_use_std_huff_tables( j_decompress_ptr cinfo ) {
|
||||||
0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
|
0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
|
||||||
0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
|
0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
|
||||||
0xf9, 0xfa },
|
0xf9, 0xfa },
|
||||||
0
|
FALSE
|
||||||
};
|
};
|
||||||
|
|
||||||
cinfo->dc_huff_tbl_ptrs[0] = (JHUFF_TBL*)&dclumin;
|
cinfo->dc_huff_tbl_ptrs[0] = (JHUFF_TBL*)&dclumin;
|
||||||
|
|
Loading…
Reference in New Issue