Machine vision in poor visibility conditions