Skip to main content

Differences between Nikon pro and consumer DSLRs

It wasn't always clear from reading up on websites and forums what exactly are the differences between consumer DSLRs and pro DSLRs. I'm making a short generic list here of what Nikon pro cameras may have that consumer one's don't (listed according to how important they were to me)
  1. Aperture stop down to preview depth of field
  2. Fast mechanical shutter (rather than a combination of slow mechanical shutter and sensor gating which can lead to streaking in extreme situations )
  3. Exposure bracketing (shoot three or more shots in quick succession with slightly different exposure levels)
  4. 1/3 EV steps for ISO rating (i.e. pro cameras can do ISOs inbetween 100 and 200)
  5. Motor for AF lens in body (If you have many old lenses this counts as a cost savings)
  6. Metal body that can withstand physical shocks better
  7. Dust removal on the sensor
  8. More auto focus points
  9. Top panel LCD for settings summary
Basically, a "pro camera" is designed to withstand being dropped and bumped (you're in the streets covering a protest - it could get rough), has quick auto focus with many points (you're trying to shoot a guy shooting a hoop - you got zero time to focus and click), has many many MP (you grabbed the best shot you could, and the president's face is on the top right corner of the photo - you gotta crop it to 1/8th the size to make a good composition, will it still look good?), has better sensor protection (you're in the savannah, you just changed from a macro to a tele to snap a lion pouncing on a gazelle - you don't want to be bothered with sand on your sensor).

Me? All I really want is a little more than 3MP (my current Canon A510) to make nicer larger prints, greater depth of field freedom, and a little less of that annoying softness and blue fringing that comes with cheaper optics.

Also, as a random tidbit: if you want to compare a DSLR lens (made for the DX format sensor) to a film camera lens for the Nikon's the multiplying factor is 1.5. So the 28-80 kit lens that came with my F65 will work as a 42-120 lens on a Nikon DSLR. As a corollary, the 18-55 kit lens with the D40 does the same work as the 28-80 for the film camera.

Comments

Popular posts from this blog

A note on Python's __exit__() and errors

Python's context managers are a very neat way of handling code that needs a teardown once you are done. Python objects have do have a destructor method ( __del__ ) called right before the last instance of the object is about to be destroyed. You can do a teardown there. However there is a lot of fine print to the __del__ method. A cleaner way of doing tear-downs is through Python's context manager , manifested as the with keyword. class CrushMe: def __init__(self): self.f = open('test.txt', 'w') def foo(self, a, b): self.f.write(str(a - b)) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.f.close() return True with CrushMe() as c: c.foo(2, 3) One thing that is important, and that got me just now, is error handling. I made the mistake of ignoring all those 'junk' arguments ( exc_type, exc_val, exc_tb ). I just skimmed the docs and what popped out is that you need to return True or...

Store numpy arrays in sqlite

Use numpy.getbuffer (or sqlite3.Binary ) in combination with numpy.frombuffer to lug numpy data in and out of the sqlite3 database: import sqlite3, numpy r1d = numpy.random.randn(10) con = sqlite3.connect(':memory:') con.execute("CREATE TABLE eye(id INTEGER PRIMARY KEY, desc TEXT, data BLOB)") con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", sqlite3.Binary(r1d))) con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", numpy.getbuffer(r1d))) res = con.execute("SELECT * FROM eye").fetchall() con.close() #res -> #[(1, u'1d', <read-write buffer ptr 0x10371b220, size 80 at 0x10371b1e0>), # (2, u'1d', <read-write buffer ptr 0x10371b190, size 80 at 0x10371b150>)] print r1d - numpy.frombuffer(res[0][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] print r1d - numpy.frombuffer(res[1][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] Note that for work where data ty...