MythTV master
ClassicSceneChangeDetector.cpp
Go to the documentation of this file.
1#include <algorithm>
2
4#include "Histogram.h"
5
7 unsigned int height, unsigned int commdetectborder_in,
8 unsigned int xspacing_in, unsigned int yspacing_in):
9 SceneChangeDetectorBase(width,height),
10 m_histogram(new Histogram),
11 m_previousHistogram(new Histogram),
12 m_xspacing(xspacing_in),
13 m_yspacing(yspacing_in),
14 m_commdetectborder(commdetectborder_in)
15{
16}
17
19{
20 delete m_histogram;
22}
23
25{
26 SceneChangeDetectorBase::deleteLater();
27}
28
30{
35
36 bool isSceneChange = (similar < .85F && !m_previousFrameWasSceneChange);
37
38 emit haveNewInformation(m_frameNumber,isSceneChange,similar);
39 m_previousFrameWasSceneChange = isSceneChange;
40
43}
44
45/* vim: set expandtab tabstop=4 shiftwidth=4: */
46
ClassicSceneChangeDetector(unsigned int width, unsigned int height, unsigned int commdetectborder, unsigned int xspacing, unsigned int yspacing)
void processFrame(MythVideoFrame *frame) override
void generateFromImage(MythVideoFrame *frame, unsigned int frameWidth, unsigned int frameHeight, unsigned int minScanX, unsigned int maxScanX, unsigned int minScanY, unsigned int maxScanY, unsigned int XSpacing, unsigned int YSpacing)
Definition: Histogram.cpp:10
float calculateSimilarityWith(const Histogram &other) const
Definition: Histogram.cpp:65
void haveNewInformation(unsigned int framenum, bool scenechange, float debugValue=0.0)