Strona 2 z 19 PierwszyPierwszy 123412 ... OstatniOstatni
Pokaż wyniki od 11 do 20 z 183

Wątek: CHDK Motion Detection

  1. #11
    dikamilo
    Guest

    Domyślnie

    No tak ale temat o CKDK juz jest na forum i ma się dobrze

  2. #12
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie Intervalometer

    napisałem taki skrypcik (1 raz w sumie)

    może da się go uprościć jeszcze,może ma błędy jakieś ale wydaje się ,że działa

    możemy ustawić :
    -czas startu robienia fotek
    w min,10sek i sek

    -ilość fotek

    -czas pomiędzy fotkami
    w min,10sek,sek

    odliczane czasy są pokazywane w 1 linii

    skrypt:

    @title My Intervalometer
    @param a Start 1st Shot (Mins)
    @default a 0
    @param b Start 1st Shot (10th Secs)
    @default b 1
    @param c Start 1st Shot (Secs)
    @default c 0
    @param d Number of Shots
    @default d 1
    @param e Interval (Minutes)
    @default e 0
    @param f Interval (10th Seconds)
    @default f 1
    @param g Interval (Seconds)
    @default g 0

    if a<0 then a=0
    if b<0 then b=0
    if c<0 then c=0
    if d<0 then d=1
    if e<0 then e=0
    if f<0 then f=0
    if g<0 then g=0
    if d=1 then z=0

    z=(e*60)+f*10+g
    n=(a*60)+b*10+c

    if n>0 then gosub "time"

    for p=1 to d
    print "Shot", p, "of", d
    shoot
    if p=d then goto "end"
    sleep z
    if z>0 then gosub "interval"
    next p
    end

    :interval
    for r=1 to z
    x=z-r
    if z>0 then print "Interval:", x/60; "min", x%60+1; "sec"
    sleep 1000
    cls
    next r
    return

    :time
    for m=0 to n
    q=n-m
    if q>0 then print "To start:", q/60; "min", q%60; "sec"
    sleep 1000
    cls
    next m
    return

    :end
    end

    zapisujemy go z rozszerzeniem *.bas np
    My_timer.bas i wgrywamy do katalogu CHDK/SCRIPTS na naszej karcie pamięci

  3. #13
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie Motion-detection Parameters

    pojawił się na Wiki w końcu jakiś ciut większy opis parametrów do skryptu:

    md_detect_motion a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p

    md_get_cell_diff (column), (row), x


    Referring to the 'md_detect_motion' command-parameters in the WIKI article, 'a' and 'b' define the number of rows and columns to split the screen into. (If values less than zero are entered or if total number of cells is greater than 1024, it defaults to 3 x 3.)

    Parameter 'g' determines if the a grid showing the detected cells is displayed.

    Parameters 'j,k,l,m' define a sub-area of the screen where motion-detection is restricted-to or excluded-from.

    Parameter 'i' determines if the region is inclusion/exclusion or do not use regions.

    You may detect motion based on changes of luminance (Y), blue – luminance (U), red – luminance (V) or individual R, G or B values.

    Parameter 'c' sets that mode.

    ( For an example of an image split into it's YUV components, see this WIKI article. )

    For non-specialised use, luminance (c = 1) will be used.

    You then need to set a threshold-value (in parameter 'f') for the desired mode that will not result in triggering in 'normal' operation.

    The motion-detection event may be triggered by quick or slow changes in the screen image, set a suitable value with parameter 'e'.

    The greatest accuracy of movement-detection results when every pixel is sampled but a faster response (suitable for some applications) may be obtained with a larger pixel-step.

    Set an appropriate value in parameter 'o'.

    Set a maximum-time for a motion-detection event to occur with parameter 'd' so that after that time the script-command terminates.



    Motion-detection Parameters :

    columns, // input parameter. number of columns to split screen into

    rows, // input parameter. number of rows to split screen into

    pixel_measure_mode, // input parameter. // 1 - for Y, // 2 for U, // 3 for V, // 4 for gray, // 5 for R, - // 6 for G, // 7 for B

    detection_timeout, // input parameter. number of millisecnds to abort detection. detected_cells_count will be 0 for timeout condition

    measure_interval, // input parameter. number of milliseconds between comparison of two pictures

    threshold, // input parameter. difference value for which procedure will trigger detection of changes draw_grid, // boolean input parameter. // true(1) to draw grid(detected sectors/cells). // false(0) - to not display grid/detected sectors

    detected_cells_count, // output parameter. count of cells where pixel values differs enough to trigger motion detection // clipping. allows to exclude some region from mtion detection triggering // or use onli selected area to make motion detection // I'm not sure that following parameters are required but using them anyway

    clipping_region_mode, // input parameter. // 0 no clipping regions // 1 - for excluding selected region from motion detection // 2 - use this only region to make motion detection clipping_region_column1, // input parameter. clipping_region_row1, // input parameter. // this is top-left corner of clipping region

    clipping_region_column2, // input parameter. clipping_region_row2, // input parameter. // this is right bottom corner of clipping region)

    function md_get_cell_diff ( col [in], // column of the cell we are requesting row [in], // row of the cell we are requesting val [out] // value of difference between measurements/comparisons)

    reserved parameters clipping regions, pixel_measure_mode draw_grid

  4. #14
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie Motion Detection - wykrywanie ruchu

    oryginalny skrypt działa u mnie tak ,że jak wykryje ruch strzela fotki na okrągło

    przerobiłem go tak ,że można w nim definiować ile ma zrobić fotek (post w wątku)

    potem zacząłem kombinować jak zrobić , żeby
    jeśli wykryje ruch-robił fotkę a potem przechodził znów w tryb wykrywania

    nie mogłem sobie z tym dać rady aż w końcu znalazłem podobnie działający skrypt i lekko go przerobiłem

    wygląda tak:

    @title motion_no_loop

    @param a Columns
    @default a 2

    @param b Rows
    @default b 2

    @param c Threshold (0-255)
    @default c 10

    @param d compare Interval (millisecs)
    @default d 80

    @param e Begin Triggering Delay(secs)
    @default e 0

    @param f Detect Timeout (seconds)
    @default f 0

    @param g pix step(speed/accuracy adj)
    @default g 8

    @param h reg mode(0-no,1-incl,2-excl)
    @default h 0

    @param i 1Y,U0,V2,4gray, 5R, 6G, 7B
    @default i 1

    if a<1 then let a=1
    if b<1 then let b=1
    if c<0 then let c=0
    if g<1 then let g=1
    if f<1 then let f=1

    let f=f*1000
    let e=e*1000

    :loop
    let t=0
    md_detect_motion a, b, i, f, d, c, 1, t, h, 2, 2, a-1, b-1, 0, g, e

    if t = 0 then goto "loop"
    shoot
    goto "loop"

    if t<1 then goto "1"
    shoot

    :1
    end

  5. #15
    Początki nałogu Awatar Juriko
    Dołączył
    Jun 2007
    Posty
    485

    Domyślnie

    Coś nie działa ten skrypt. "Tradycyjnie" po wykryciu ruchu, strzela fotki bez opamiętania.

  6. #16
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie

    hmmm
    spróbuj ustawić inaczej parametry i zrobić go mniej czułym

  7. #17
    Początki nałogu Awatar Juriko
    Dołączył
    Jun 2007
    Posty
    485

    Domyślnie

    Regulacja czułością niewiele daje, wszystko jest bardzo przypadkowe. Raz wyzwoli się jeden strzał, raz 2, a najczęściej strzela bez końca.
    A jak Ty masz ustawione, że u Ciebie działa. Aparat mam ten sam.

  8. #18
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie

    columns 10
    rows 10
    threshold 10
    compare 80
    begin 0
    detect 0
    pix 8
    reg 0
    1Y 1

    i działa mi bardzo dobrze-dokładnie jak chciałem-też to zapętlanie mnie wkurzało

  9. #19
    Początki nałogu Awatar Juriko
    Dołączył
    Jun 2007
    Posty
    485

    Domyślnie

    NIc z tego. zapętla dalej. Próbuję w różnych trybach, z wyłączoną i włączoną stabilizacją. Nie wiem, czemu u Ciebie działa, a u mnie przy tych samych ustawieniach nie.

  10. #20
    Coś już napisał Awatar Kociałko
    Dołączył
    Oct 2007
    Posty
    98

    Domyślnie EV bracketing skrypt

    uczę się pisać te skrypty i napisałem sobie skrypt do bracketingu coby robił taką samą ilość zdjęć w + i -

    definjujemy mu
    -zakres od 1/3 Ev do 2EV
    -krok od 1/3EV do 2EV
    -ilośc zdjęć w 1 kroku
    dowolna

    jeżeli nie będzie możliwa zachowana symetria (czyli jak nie da się takiej samej ilości zdjęć wykonać z kompensacją w minus jak i w plus) wyświetli błąd

    skrypt można przerobić na szybszy ale jeszcze nie rozgryzłem jak definiować mu kompensację ekspozycji przez użycie set_prop i get_prop

    Co dziwne po kilkukrotnym wykonaniu skryptu nie wychodząc z trybu ALT po skończeniu zdjęć nie resetuje ekspozycji do zera a czasem skacze przy starcie w + -strasznie to dziwne -pytałem na forum zagranicznym ale bez odpowiedzi



    @title symmetry EV Braketing
    @param a Range EV (a/3 EV)
    @default a 1
    @param b Step size (b/3 EV)
    @default b 1
    @param c Shots in 1 (b/3EV ) step
    @default c 1

    if a<1 then let a=1
    if b<1 then let b=1
    if c<1 then let c=1
    if a=1 and b=1 then d=2b
    if b>a then goto "end2"
    if a=2 and b=1 then d=4b
    if a=2 and b=2 then d=b
    if a=3 and b=1 then d=6b
    if a=3 and b=2 then d=3b
    if a=3 and b=3 then d=2b
    if a=4 and b=1 then d=8b
    if a=4 and b=2 then d=4b
    if a=4 and b=3 then goto "end2"
    if a=4 and b=4 then d=2b
    if a=5 and b=1 then d=10b
    if a=5 and b=2 then d=5b
    if a=5 and b=3 then goto "end2"
    if a=5 and b=4 then goto "end2"
    if a=5 and b=5 then d=2b
    if a=6 and b=1 then d=12b
    if a=6 and b=2 then d=6b
    if a=6 and b=3 then d=4b
    if a=6 and b=4 then d=3b
    if a=6 and b=5 then goto "end2"
    if a=6 and b=6 then d=2b


    print "Total Shots",(d+1)*c
    if c>1 then print "Make",c,"Shots in 1 Step"

    click "erase"
    for n=1 to a
    click "left"
    next n

    for s=1 to d
    for r=1 to c
    shoot
    next r

    for n=1 to b

    click "right"
    next n

    next s
    for r=1 to c
    shoot
    next r

    :end
    print "Reset exposure to 0"
    for n=1 to a
    click "left"
    click "erase"
    next n
    end

    :end2
    print "Error, check parameters"
    end

Strona 2 z 19 PierwszyPierwszy 123412 ... OstatniOstatni

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •