QImage с точностью считывает данные пикселей

Извините за основной вопрос, я только начинаю использовать QImage для чтения пиксельных данных из файла изображения.

Чтобы понять функции-члены, я попытался загрузить файл изображения и попытался вывести значения, возвращаемые функциями:

QString fileName = "pic1.bmp";
QImage myImage;
myImage.load( fileName );

std::cout << "width = "         << myImage.width() << std::endl;
std::cout << "height = "        << myImage.height() << std::endl;
std::cout << "dotspermeterX = " << myImage.dotsPerMeterX() << std::endl;
std::cout << "dotspermeterY = " << myImage.dotsPerMeterY() << std::endl;
QRectF myRect = myImage.rect();
std::cout << "rect = " << myRect.bottomLeft().x() << "," << myRect.bottomLeft().y()
      << "  " << myRect.topRight().x() << "," << myRect.topRight().y() << std::endl;

Я получил следующий результат:

width = 858
height = 608
dotspermeterX = 4724
dotspermeterY = 4724
rect = 0,608  858,0

У меня следующие вопросы:
1. В чем разница между dots и pixels?
2. Работает ли QImage только с int пикселями? Разве я не могу читать субпиксельные данные для большей точности?

Чтобы прояснить мой вопрос, ниже показано увеличенное растровое изображение диагональной линии, и я хочу прочитать все маленькие пиксели / точки в этой строке. Возможно ли это?
введите описание изображения здесь


person Abhishek Bansal    schedule 08.11.2013    source источник


Ответы (1)


Что касается «точек на метр», вы, вероятно, слышали о «точках на дюйм» (или DPI). Это то же самое. Если, например, у вас есть 20-дюймовый монитор с горизонтальным разрешением X пикселей, у вас будет Y «точек на дюйм» (или пикселей на дюйм). Если затем вы переключитесь на 40-дюймовый монитор, но с тем же разрешением по горизонтали X, то у вас будет половина числа точек на дюйм, так как экран теперь вдвое шире. Таким образом, DPI (или PPI) можно рассматривать как измерение размера пикселей.

И нет, я серьезно сомневаюсь, что QImage поддерживает субпиксельные данные.

person Some programmer dude    schedule 08.11.2013
comment
Спасибо за разъяснение. Значит, точки и пиксели - это одно и то же, верно? Также на изображении, которое я показал, маленькие черные квадраты, как я полагаю, являются пикселями, поэтому их чтение возможно с помощью QImage, верно? - person Abhishek Bansal; 08.11.2013
comment
@AbhishekBansal Да, точки и пиксели такие же. И да, вы можете читать отдельные пиксели QImage, и поэтому сможете довольно легко найти черные пиксели в белом растровом изображении. - person Some programmer dude; 08.11.2013
comment
Здорово! Спасибо за помощь. - person Abhishek Bansal; 08.11.2013