dll em C++ com Visual Studio

Comecei a trabalhar com visão computacional, usando a biblioteca openCV, realmente é bem divertido.

Entretanto, embora haja bastante diversão, tem algumas tarefas de certa maneira árduas nas primeiras

tentativas. Uma destas, é desenvolver uma interface amigável (user friendly interface), e depois que você

se acostuma a trabalhar com aplicações visualmente ricas (Rich User Interfaces), não é lá muito bom fazer

aplicações DOS-like (com cara de DOS, ou windows 95).

Como o openCV está disponível com códigos em linguagem C, resolvi tentar criar aplicativos em Visual C# - WPF

para, utilizando a openCV, bolar algo útil com processamento de imagens, e com uma interface rica.

WPF eu conheço razoavelmente, é o alicerce para as RIU desenvolvidas na plataforma Windows, seja web (Silverlight)

ou desktop. Linguagem C, sussa. Ponteiros, nada podia ser mais divertido... o_O  Abismado

Enfim, faltava então comunicar o código C# com minhas funções em C (algum outro dia descrevo sobre o básico do

openCV).

O caminho que escolhi foi criar uma dll em C, usando o Visual Studio.

É necessário usar a seguinte especificação na função do código em C que queremos usar no C#:

//declarando as funções que podem ser acessadas externamente
//leitura de video
  extern "C" __declspec(dllexport)void getVideo();

// implementar a função normalmente

void getVideo( )
    {
    //    char *nomeJanela = "exemplo com video";
    //cvNamedWindow(nomeJanela, CV_WINDOW_AUTOSIZE);   
    char* arquivodevideo = "c:\\videocaptlaser.avi";//video.mpg
    //abrir o arquivo de video que será carregado, carregar um ponteiro
    CvCapture* capture = cvCreateFileCapture(arquivodevideo);
    int cont =0;
    IplImage* frame;
    IplImage* frameHSV;
    while(1) {
        cont++;
        frame = cvQueryFrame( capture );
    frameHSV = cvCreateImage(cvSize(frame->width,frame->height), frame->depth, frame->nChannels);
    //converter a imagem RGB de frame p/ HSV no arquivo frameHSV
    cvCvtColor(frame, frameHSV, CV_BGR2HSV);
    //criar img p/ threshold
    IplImage* imgThreshed = cvCreateImage(cvGetSize(frameHSV), 8, 1);
    // blue  - yellow: 20,255,255   - red: 0,0,255
    cvInRangeS(frameHSV, cvScalar(1, 15, 2), cvScalar(20, 50, 255), imgThreshed);

        if ( !frame ) break;
        cvShowImage( "Vídeo Original(esc p/ sair)", frame );
        cvShowImage( "Vídeo Convertido p/ HSV (esc p/ sair)", frameHSV );
        cvShowImage( "Threshold aplicado (esc p/ sair)", imgThreshed );
        if (cont == 3) printf("Processing a width: %dx height%d image with %d channels\n",frame->width,frame->height,frameHSV->nChannels);

        char c = cvWaitKey( 33 );
        if ( c == 27 ) {
            break; //tecla ASCII 27 = Esc
            cvReleaseImage(&frame);
            cvReleaseImage(&frameHSV);       

        }

    }   
    cvReleaseCapture( &capture );
    cvDestroyWindow("Vídeo Original(esc p/ sair)");
    cvDestroyWindow( "Vídeo Convertido p/ HSV (esc p/ sair)");
    cvDestroyWindow( "Threshold aplicado (esc p/ sair)");

    }    // FIM getVideo()

Este código no Visual Studio, é criado como C++  DLL, e pra rodar o openCV deve incluir outras bibliotecas,

mas isto é outra estória.

Daí, no código C#, deve-se usar Plataform Invoke (PInvoke):

 [DllImport("MeuOpenCV.dll")]
        static extern void getVideo();

Pronto, basta no código chamar a função getVideo() que funciona.

Pra passar parâmetros, como strings, etc, tem umas complicações a mais, que talvez um dia, eu venha abordar.

em breve descreverei como fiz pra gerar um instalador pro meu aplicativo que manipula vídeos e imagens.

 
 

Software para Fisioterapia

Após muito tempo sem blogar, finalmente, meu 1o. Projeto de Software em Visual C#:

Fisioteste

 
 

Erro ao carregar o HTML Editor Visual Studio 2008 Professional

 

 

Após apanhar bastante, reinstalar/desinstalar diversas vezes o VS, Visual C#, e outros, e frustantes

tentativas com :1. run Visual Studio 2008 prompt ("Visual Studio 2008-Eingabeaufforderung"

2. run "devenv /resetaddin" => close VS2008
3. run "devenv /resetskippkgs" => close VS2008
4. run "devenv /resetsettings" => close VS2008
5. close prompt
6. run VS2008 normal 
Meu problema foi no Windows XP, e Encontrei a solução aqui: e copiei e colei abaixo pra facilitar a vida! 
Quebrei a cabeça com o problema do HTML Editor do Visual Studio 2008 / Windows 7 Professional.

Ambos originais, sem qualquer problema exceto pela mensagem de erro:

Package 'Visual Web Developer HTML Source Editor Package' has failed to load properly ( GUID = {BFCC0C3C-6F87-4285-A6C8-BB616061800D} ). Please contact package vendor for assistance. Application restart is recommended, due to possible environment corruption. Would you like to disable loading this package in the future? You may use 'devenv /resetskippkgs' to re-enable package loading.

Bom, depois de apanhar um pouco, alterei a linguagem para Ingles e inicializei as Package's

 

VisualStudio

Lembrando de executar como como Administrador ...

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetskippkgs

Pronto, Funcionando....

 

 

 
 

NOVIDADES DO UBUNTU

 

LUCID LYNX

  • Experiência de boot mais rápida e mais fluída: Também o boot no Lucid Lynx foi alvo de melhorias. Sempre com o objetivo dos 10 segundos de boot no dispositivo-alvo Dell Mini v10, este foi melhorado e usa novas tecnologias de modo a permitir uma experiência ao ligar o seu sistema totalmente fluída, atrativa e acima de tudo, rápida, para utilizadores de placas gráficas Intel, Nvidia e ATi. A má notícia é que para observar todo este processo de ligação do seu computador, não poderá tirar os olhos do computador. Simplesmente acontece rápido demais. :-D

xsplash-3_thumb[1]

  • Projeto “100 Papercuts”: O projeto “100 Papercuts” é um projecto que pretende identificar e corrigir bugs mínimos e facilmente corrigíveis de usabilidade no Ubuntu e nas suas aplicações. Este projeto já se refletiu no Karmic Koala, e continuará nesta nova versão do Ubuntu. Bugs do ciclo Karmic, integração e acesso fácil ao Compiz (Compiz é o decorador de desktop responsável pelos tão falados efeitos), Rhytmbox, Pitivi, Gwibber e Empathy são alguns dos alvos deste projeto, e são assim corrigidos alguns dos problemas mais proeminentes que afetam estas aplicações.
  • Nova ferramenta de Digitalização “Simple Scan”: O Ubuntu, embora muitos nunca tenham reparado, sempre trouxe consigo uma ferramenta de Digitalização, neste caso o XSane. O XSane é uma ferramenta poderosa e com elevado grau de compatibilidade, mas a sua integração no restante ambiente de trabalho e a sua interface em geral era tudo, menos amigável e de fácil uso. Por isso está sendo desenvolvida uma nova aplicação para substituí-lo, de nome “Simple Scan”, uma interface simples de utilizar, para facilmente digitalizar todo e qualquer tipo de documento em todo e qualquer tipo de impressora, e iniciando esse processo através de todo e qualquer tipo de aplicação. “Simple Scan” pode ser atualmente testada adicionando este repositório e instalando em seguida pelo gerenciador de pacotes.

DocumentScanning[4]

 

 
 

NOVIDADES DO UBUNTU

LUCID LYNX

  • Melhoramentos no F-Spot para edição simples de imagem: Existem também ideias ou de melhorar o F-Spot e adicionar-lhe funcionalidades básicas de corte, edição e retoque de imagem, ou substituir esta aplicação por uma outra já com essas funcionalidades como o gThumb ou o Shotwell. O utilizador comum quer apenas editar algumas fotos com retoques básicos, remoção de olhos vermelhos, cortar, um efeito de luz aqui e outro ali, e o GIMP revelava-se complexo demais para essa tarefa. Portanto, esperam-se novidades nesta área. Na minha opinião pessoal, o F-Spot vai continuar mas com os melhoramentos que indiquei. É sem dúvida uma poderosa mas amigável interface a do F-Spot ;-)
  • Melhor seleção de jogos: Também os jogos pré-instalados foram repensados. Esta mudança era merecida. Um dos jogos a ser incluído é o gbrainyum bastante desafiador e viciante jogo de brainstorming e estimulação mental. Existem vários jogos de qualidade nos repositórios de Ubuntu e esperemos que sejam esses mesmo a serem incluídos.

screenshot_043


 
 

NOVIDADES DO UBUNTU

LUCID LYNX

A nova versão do Ubuntu, a 10.04, “nome de código” Lucid Lynx, é um LTS (Long Term Support), ou seja, versão que terá suporte oficial durante 3 anos na versão Desktop e durante 5 anos na versão Server. Por isso o maior objetivo para esta versão é a estabilidade e  a correção de eventuais bugs e problemas decorrentes das inovações introduzidas em releases anteriores. Mas nem por isso deixa de conter algumas novidades que valem a pena ansiar pela versão final, e os detalhes começam já a surgir…

Por isso, aqui ficam 15 novidades que estão no Ubuntu 10.04 Lucid Lynx (“Lince Lúcido”?!?!?):

  • Ubuntu Music Store: Quem usa Linux e Windows,certamente sente falta em Linux de uma aplicação que lhe permita comprar música online, a partir do seu ambiente de trabalho. Do estilo iTunes, por exemplo. A Ubuntu Music Store pretende colmatar essa falha. Integrada no Rhythmbox (que será provavelmente o reprodutor de música pré-instalado), permitirá comprar  e guardar no seu computador música, a partir do seu ambiente de trabalho, e através do serviço UbuntuOne poderá sincronizar essas músicas com todos os seus computadores e ainda com amigos. O Ubuntu servirá apenas como plataforma de interacção entre o utilizador e o vendedor do conteúdo digital. Rumores na blogosfera afirmam que a Cannonical tem como parceira neste projecto a loja online 7Digital.

musicshop

 
 

NOVO UBUNTU

http://pcworld.uol.com.br/reviews/2010/04/28/review-ubuntu-10.04/

Classificação:

Artigo comentando as novidades do UBUNTU 10.04 que acaba de ser lançado. Vale a pena ler !!!

 
 

"Why I want my daughter to be a hacker"

Autor: thiago

Buscar na Web "thiago"

Artigo legal, sobre OpenSource e filosofia Hacker! http://www.blogaro.com.br/blog/2010/04/16/why-i-want-my-daughter-to-be-a-hacker/

 
 

UBUNTU

Efeitos Visuais no UBUNTU

mac x pc

FUNNY

MAC X PC

 

 
 

LG se une a Linux Foundation

LG se une a Linux Foundation

A LG, empresa sul-coreana líder mundial no segmentos de eletrônicos anunciou na última quarta-feira (14/04/2010) que agora faz parte da Linux Foundation, organização sem fins lucrativos dedicada ao desenvolvimento do Linux no mundo.

Com isso, a LG garante que o Linux terá papel fundamental no desenvolvimento de novas tecnologias na companhia e que irá cooperar com eventos e desenvolvimento do Linux.

Esta parceria pode significar grandes avanços no Linux, o que pode levar a muitas melhorias em um menor espaço de tempo. “A LG Eletronics está se unindo a um crescente número de companhias que veem o valor singular que o Linux traz para o futura da computação, onde há muitos tipos diferentes de dispositivos que estão sempre conectados”, disse Amanda McPherson, vice presidente de marketing e programas de desenvolvimento da Linux Foundation.

extraído de: Comunidade Linux na Rede

Segurança

60% dos PCs no Brasil têm programas que roubam dados, diz Microsoft


País ocupa 6º lugar em ranking mundial de ataques, segundo a pesquisa. 
Pela primeira vez, estudo da Microsoft inclui dados do Brasil.


Uma pesquisa realizada pela Microsoft mundialmente, que pela primeira vez incluiu o Brasil, indica um salto de 92% no número de computadores brasileiros com algum tipo de invasão ou software indesejado. 

As principais invasões e ameaças detectadas foram as usadas no roubo de senha e logins de bancos (trojans), presentes em mais de 60% das máquinas pesquisadas no Brasil. Ainda segundo o estudo, o país ocupa o sexto lugar no ranking mundial de ataques, lista que hoje é liderada pelo Afeganistão. 

A quinta edição do Relatório de Inteligência e Segurança da Microsoft mostra números do primeiro semestre deste ano em relação a igual período do ano passado. Segundo a empresa, os dados são de "centenas de milhares de computadores ao redor do mundo" e tem como objetivo conscientizar a população sobre os crimes na Internet. 

A quantidade de softwares indesejados 
instalados nas máquinas cresceu 43% no primeiro semestre, em relação a 2007. De acordo com a Microsoft, 90% dos ataques são feitos por meio de aplicativos e 10% através do sistema operacional.

 
 

BANCOS OPTANDO POR SEGURANÇA COM LINUX

BANCO PRETENDE ADOTAR LINUX POR SEGURANÇA

Banco pretende distribuir Ubuntu LiveCD para evitar fraudes

O banco norte americano CNL, preocupado com questões de segurança durante o acesso aos seus sistemas de internet banking, está distribuindo pretendendo distribuir CDs com Ubuntu Live.

Os CDs seriam levemente customizados para acessar, através do Mozilla Firefox, o serviço de internet banking do banco. Eles pretendem com isso reduzir consideravelmente os riscos de malwares, spywares e keyloggers.

A preocupação do banco reflete perfeitamente o maior risco às movimentações financeiras na internet, o computador do usuário. Sistemas operacionais pouco seguros , em conjunto com usuários pouco experientes e a falsa crença de que a internet é mais segura que o mundo real, formam uma combinação de fatores aonde os malwares e spywares se proliferam colocando em risco a segurança de movimentações financeiras.

OBTENHA AQUI o SO. UBUNTU

OBTENHA AQUI O NAVEGADOR FIREFOX

Firefox

 

 
 

C# e banco de dados

CONEXÃO COM BANCO DE DADOS EM C#

Fazer um aplicativo em C# integrado a um banco de dados é uma tarefa que pode dar muita dor de cabeça.

O modo simples de fazer, é usar as ferramentas do visual C# e arrastar os componentes, inclusive o datasource

ou as tabelas do seu banco de dados (supondo que já adicionou ao projeto) ao formulário da aplicação.

A IDE VISUAL C# já cria automaticamente uma interface de manipulação dos dados em questão.

Entretanto, se quiser ter maior grau de liberdade para manipular e configurar ao seu gosto o tratamento de dados

e a interface, é melhor fazer o código "na unha".

Os passos básicos para isto são:

1- definir a string de conexão com o banco

2- estabelecer a conexão

3- criar um Dataadapter: é o objeto que se comunica com o BD, usando os parâmetros de (1) e (2), e realiza a instrução SQL

4- criar um Dataset: instância do C# que recebe o dados do Dataadapter

5- definir as colunas que serão usadas em um Datarow (estrutura que cria tabelas para o Dataset)

6- popular um Datagrid com o dataset criado.

ex:

string strcon = c:\\meubd.mdf;  // banco do sql server, poderia ser uma string de conexão com mysql

                string sqlstr = "select * from turma";  // (cod,nome)

                conn = new SqlConnection(strcon); // obj de conexão

                // criar o data adapter

                dtaTurma = new SqlDataAdapter(sqlstr,conn);

                SqlCommandBuilder cmd = new SqlCommandBuilder(dtaTurma);

                dtsTurma = new DataSet(); // cria dataset

                dtaTurma.Fill(dtsTurma);// popula o dataset                                                                

                DataRow registro = dtsTurma.Tables["turma"].NewRow();

                registro[0] = turma.StrCodigo; //coluna 0 = código // obtém este valor de um form

dtsTurma.Tables["turma"].Rows.Add(registro);

                dtaTurma.Update(dtsTurma); // salva no bd

Um datagrid pode obter estes dados através de um Datatable:

Datatable tabela = new DtaTurma.Fill(tabela);

datagrid.Datasource = tabela;

That's it! Piscadela

 

 
 

Ele rejeitou o Windows e foi reembolsado

Tecnologia pessoal

Ele rejeitou o Windows e foi reembolsado

Guilherme Pavarin, de INFO Online Quarta-feira, 24 de março de 2010 - 17h23

Ele rejeitou o Windows e foi reembolsado
Otto Teixeira, analista de sistemas, de Salvador: ele comprou um Lenovo com Windows, mas não quis usá-lo e pediu reembolso; com sucesso
#entry-share { overflow:hidden; height:120px; } #entry-share li { margin:5px 0; } #entry-share-sites { margin:20px 0 0 15px; } #entry-share-sites li { margin-top:3px; } #entry-share-sites img { margin-right:3px; } #entry-share img { border: none; vertical-align:middle; margin-right:5px; } #entry-tools { width:125px; float:right; border-top:1px solid #86C617; border-bottom:1px solid #86C617; margin:5px 0 15px 15px; padding:5px; } #entry-tools ul { margin:0; padding:0; } #entry-tools li { padding:0; list-style:none; } #entry-tools a { font-family:Arial, Helvetica, sans-serif; font-size:10px; color:#999; text-decoration:none; } #entry-tools a:hover { text-decoration:underline; } #entry-tags { border-top:1px dotted #CCC; padding:10px; } #entry-tags a { color:#005689; } .entry-tags-tit { font-family: "Trebuchet MS", Arial, sans-serif; font-size:12px; color:#333; }

[ página principal ] [ ver mensagens anteriores ]



Meu Perfil
BRASIL, Sudeste, SAO CARLOS, Homem, English, Informática e Internet, Cinema e vídeo, música, shows