A lona é legal! - página 65

 
Nikolai Semko:
Bem, muito brevemente, Artem, eu costumava perceber um pixel como um quadrado com cálculo de sua participação de peso em um pixel de uma nova escala através da área, agora eu o percebia como um círculo com cálculo de sua participação de peso através da distância até o centro de um pixel de uma nova escala.
Obrigado, isso é interessante.
 
Nikolai Semko:

Eu dei um exemplo do códigoaqui. Mas o código está longe de ser perfeito. Eu o faria de forma completamente diferente agora.


Oh, uau! Eu mudei um pouco o código. Tirei a função de redimensionamento da classe em um arquivo separado para uso universal e acrescentei a capacidade de redimensionamento desproporcional.
Arquivos anexados:
ImageResize.zip  384 kb
 
Nikolay Kositsin:
Incrível! Eu mudei um pouco o código. Eu tirei a função de redimensionamento da classe em um arquivo separado para uso universal e adicionei a capacidade de redimensionamento desproporcional.

Bem, na verdade, o algoritmo é terrível. Lembro-me de escrevê-lo em um dia apenas para testá-lo, para fazê-lo funcionar e ver como a cor é preservada quando transformada.
É muito lento (pisca e me lembro de algumas falhas), mas há um grande potencial para acelerá-lo muitas vezes.
Agora, para reescrever este redimensionamento, com base no conhecimento e na experiência que adquiri depois daquele código, acho que vou levar três dias.
Mas talvez fosse melhor encontrar algo pronto, em vez de reinventar a roda.
Por exemplo, aqui está uma biblioteca gratuita em C++, embora antiga, mas bastante funcional. https://drive.google.com/file/d/1BceTk-OrtQza0Hpozhm1nqAcNkRdeNH5/view?usp=sharing

Veja exemplo de demonstração image_perspective.



 
Nikolai Semko:

Bem, na verdade, o algoritmo é terrível. Lembro-me de escrevê-lo em um dia apenas para testá-lo, para fazê-lo funcionar e ver como a cor é preservada quando transformada.
É muito lento (pisca e me lembro de algumas falhas), mas há um grande potencial para acelerá-lo muitas vezes.
Agora, para reescrever este redimensionamento, com base no conhecimento e na experiência que adquiri depois daquele código, acho que vou levar três dias.
Mas talvez fosse melhor encontrar algo pronto, em vez de reinventar a roda.

Por exemplo, aqui está uma biblioteca gratuita em C++, embora antiga, mas bastante funcional. https://drive.google.com/file/d/1BceTk-OrtQza0Hpozhm1nqAcNkRdeNH5/view?usp=sharing
Veja exemplo de demonstração image_perspective.


Bem, na verdade, era para fazer isso, mas acabou que neste mesmo tópico em particular na Internet todas as informações eram de alguma forma comidas pelas traças. Não tenho certeza se o proprietário do link dará permissão para baixá-lo ou não.
 
Nikolay Kositsin:
Bem, na verdade, era para fazer isso, mas como se descobriu que neste tópico em particular na Internet todas as informações eram de alguma forma comidas pelas traças. Pelo link obrigado, mas está codificado e se o proprietário do link tem permissão para baixar - não está claro.

Corrigido. Abre sem senha.

 
Nikolai Semko:

Concordo com Renat que mesmo a utilização da CPU para saída gráfica cobre mais de 99% de todas as tarefas gráficas na área de tarefas MQL5.

Tenho muita carga de CPU na GUI do próprio Terminal.

 
Nikolai Semko:

Corrigido. Abre sem senha.

Nikolai, em que lado da biblioteca eu deveria cavar? Pesquisei-o com todos os métodos de análise disponíveis, mas não encontrei nenhum redimensionamento ou reamostragem de matrizes e imagens de pixel.
 
fxsaber:

Estou recebendo muita carga de CPU da própria GUI do Terminal.

O Ryzen 3700x e o GTX1060 também fazem a diferença de enrolar ou não, os desenvolvedores vão com o tempo reduzindo a capacidade de resposta mais perto do tempo real, tempo para mudar seu antigo processador, 2700K não é?

 
Fast235:

O Ryzen 3700x e o GTX1060 também fazem a diferença de enrolar ou não, os desenvolvedores vão com o tempo reduzindo a capacidade de resposta mais perto do tempo real, o tempo para mudar seu antigo processador, 2700K como?

Sim. Acho que os desenvolvedores nunca executam cinco Terminais em paralelo, onde cotiers de alta freqüência de cem caracteres cada um entram na Market Review.

Sai muito bobo quando a minimização trivial de tais Terminais reduz uma grande carga de CPU a quase nada. O porquê de uma GUI tão irracionalmente consumidora de CPU não é claro.

 
fxsaber:

Sim. Acho que os desenvolvedores nunca executam cinco Terminais em paralelo, onde o Market Watch de alta freqüência tem centenas de caracteres cada um.

Sai muito bobo quando a minimização trivial de tais Terminais reduz uma grande carga de CPU a quase nada. Por que uma GUI tão irracionalmente consumidora é incompreensível.

eles cumprem o dresscode, google há uma quantidade incrível de falhas óbvias para todos, mas tudo fica esquecido, MQ está muito interessada em ser como esses gigantes