die M10 mit entsprechendem Wechselobjektiv eignet sich besonders gut dafür, denn man hat vollen Zugriff auf den gesamten Blendenbereich. Es wird eine Blendenreihe durchfahren, und man sucht sich das Bild mit dem besten Schärfe/Tiefenschärfe-Verhältnis raus. Siehe auch Kommentar-Text im lua-Script.
- Code: Alles auswählen
--[[
@title blueM10-5.lua
@chdk_version 1.5
--]]
-- mein erstes script für die EOS M10
-- gschrieben von joedi, 04. 2020
-- Zweck: Freihand-Bluetenfotographie; alle Blendenwerte werden durchgefahren
-- Aus den resultierenden Bildern, von "wenig Tiefenschaerfe, aber unverwackelt"
-- bis zu "Viel Tiefenschärfe, aber eher verwackelt" sucht man sich dann
-- das beste heraus. Die EOS M10 eignet sich gut, da die Objektive (benutzt:
-- EF50/1.8STM) voll verstellbare Blende haben und CAM gut bei hohen ISO-Werten
-- Benutzt wird der Av-modus und auto-ISO
-- Ursprünglich für A570IS geschrieben (Blende dort immerhin 2.8 ... 8.0)
-- ======= M A I N P R O G S T A R T S H E R E :======================
set_console_layout(1,1,30,9)
props= require("propcase")
bi=get_buildinfo()
camid=bi.platformid
if (camid ~= 12960) then error("NOT an EOS M10, script stopped") end -- danke msl
-- viz. camid: see "https://chdk.fandom.com/wiki/P-ID_(Table)?oldid=38012"
-- 32A0 == 12960 EOS M10 ("Canon" lt. lsusb)
-- General preparations ---------------------------------------------------
-- switch to shooting mode if necessary
if ( get_mode() == false ) then
set_record(1)
while ( get_mode() == false ) do sleep(100) end
sleep(2000)
end
set_prop(props.FLASH_MODE, 2) -- switching flash off
sleep(500)
set_prop(props.DRIVE_MODE, 0) -- single shot
set_capture_mode(4) -- in den Av-Modus schalten:
repeat print("Av");sleep(50) until is_capture_mode_valid(4) == true
sleep(600)
set_iso_mode(0) -- "iso automatic", in den ISO-Auto-Modus schalten
repeat print("i");sleep(50) until get_iso_mode() == 0
--übrigens: keinen MACRO-Bereich wie bei den Kleinstkameras
-- Zeit zum Ausrichten der Kamera, dann SET-Taste aus Auslöser:
repeat print "press SET"; sleep(100) until (is_key("set"))
press("shoot_half")
repeat sleep(50) until get_shooting() == true
-- Jetzt Objekt anpeilen:
repeat -- wenn fokus unmöglich, dann nochmals anpeilen:
entf=get_focus()
print(entf);
until (get_focus_ok()~=0)
-- {"2.0","2.8","4.0","5.6","8.0","11.0","16.0","22.0"}
avtable = { 200, 288, 384, 480, 576, 672, 768, 864}
-- Blendenwert vorgeben/variieren, von f/2.0 ... f/22
for index=1,8,1 do
av96wert=avtable[index]
set_user_av96(av96wert)
sleep(500)
shoot()
end
-- und zu guter letzt noch ein Bild mit hyperfokaler Distanz
sleep(200)
press("shoot_half")
repeat sleep(50) until get_shooting() == true
sleep(100)
dof=get_dofinfo()
if (dof.hyp_valid == true ) then
fw=dof.hyp_dist
set_focus(fw)
sleep(500)
press("shoot_full_only")
sleep(200)
release("shoot_full")
end
-- ===== M A I N P R O G E N D S H E R E ======================
Es gibt auch eine Version, die für die A570IS geschrieben ist. Falls Interesse da ist, könnte ich die auch posten.
Grüsse von joedi